FOSS Course, UPenn, Murphy

(Difference between revisions)
Jump to: navigation, search
Line 17: Line 17:
 
|-
 
|-
 
! style="text-align:right;"| Student Characteristics
 
! style="text-align:right;"| Student Characteristics
| The course is targeted to upper-level undergraduate or graduate students who have completed a traditional software engineering course and have had experience working in groups.
+
| The course is targeted to upper-level undergraduate or graduate students who  
 
|-
 
|-
 
! style="text-align:right;"| Prerequisites
 
! style="text-align:right;"| Prerequisites
| ''Knowledge required to be successful in this course''
+
| Students should have completed a traditional software engineering course and have had experience working in groups. They should be familiar with GitHub and the target programming language for the FOSS project on which they will work.
 
|-
 
|-
 
! style="text-align:right;"| Infrastructure
 
! style="text-align:right;"| Infrastructure

Revision as of 13:50, 16 August 2016

HERE WE GO!


Contents

0. Overview

Course Name Open Source Software Development
Course Overview This course exposes students to the cultural, technical, and legal aspects of FOSS development and provides students with an opportunity to work on a real-world open-source software project, and gain experience in software maintenance and enhancing software quality.
Instructor Contact Info Chris Murphy
Student Characteristics The course is targeted to upper-level undergraduate or graduate students who
Prerequisites Students should have completed a traditional software engineering course and have had experience working in groups. They should be familiar with GitHub and the target programming language for the FOSS project on which they will work.
Infrastructure classroom, technology, support
Offerings Univ of Pennsylvania: Fall 2016

1. Learning Objectives

  • objectives & prerequisites should be active, student-centered, specific, and measurable
    • the student will be able to...
  • for the entire course, and/or for FOSS-specific parts of the course
  • might include content & process skills
  • might consider all levels of Bloom's taxonomy

2. Methods of Assessment

  • what will students do in this course, and how will it be evaluated
    • Exams, assignments, projects, etc.
  • should be tied to learning objectives

3. Course Outline

Week Topics/Activities Reading Assignments
1 Course Introduction
  • Course logistics
  • Brief overview of FOSS
  • Fossisms

Blogs, IRC, and GitHub

2 FOSS Background
  • What are the intellectual, technical, and cultural foundations and justifications of FOSS?
  • How does FOSS differ from commercial software?

FOSS Field Trip and Project Evaluation

  • Learning Activity -- COMING SOON!
3 Getting Started in FOSS
  • How do you learn about a FOSS project's culture and community?
  • How do you get involved in and known within a community?

Start Getting Involved in Project

  • Learning Activity -- COMING SOON!
4 Ways of Contributing to FOSS
  • What are the different types of contributions someone can make to a FOSS project?
  • What is the process of making contributions?
5 What Motivates People to Contribute to FOSS
  • Why do people contribute to FOSS projects?
  • In what ways are people rewarded for their contributions?
  • Does motivation rely on the type of contribution, or vice-versa?
6 Licensing and Legal Issues
  • Something
  • Something Else
7 FOSS Business Models and Opportunities
  • Something
  • Something Else
8 HFOSS
  • Something
  • Something Else
9 FOSS Success Stories
  • Something
  • Something Else
10 Starting and Growing a FOSS Community
  • Something
  • Something Else
11 Criticisms of FOSS
  • Something
  • Something Else

4. Notes to Instructor

  • Tips, suggestions, lessons learned (warnings)...

5. Moving Forward

  • what next steps are desirable or possible for this course

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png

Materials linked to by this page may be governed by other licenses.

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox