Open Source Software Development, NYU, Klukowska

(Difference between revisions)
Jump to: navigation, search
(Overview)
Line 3: Line 3:
 
'''THIS PAGE IS CURRENTLY UNDER CONSTRUCTION '''
 
'''THIS PAGE IS CURRENTLY UNDER CONSTRUCTION '''
  
= Overview =
+
== Overview ==
  
 
{{Course Overview
 
{{Course Overview
Line 29: Line 29:
 
}}
 
}}
  
= Learning Objectives =
+
== Learning Objectives ==
  
 
* ''objectives & prerequisites should be active, student-centered, specific, and measurable''
 
* ''objectives & prerequisites should be active, student-centered, specific, and measurable''
Line 37: Line 37:
 
* ''might consider all levels of Bloom's taxonomy''
 
* ''might consider all levels of Bloom's taxonomy''
  
= Assessment Methods =
+
== Assessment Methods ==
  
 
* ''what will students do in this course, and how will it be evaluated''
 
* ''what will students do in this course, and how will it be evaluated''
Line 53: Line 53:
 
* '''Midterm and final exams'''
 
* '''Midterm and final exams'''
  
= Course Outline =
+
== Course Outline ==
  
 
* ''major topics, events, milestones''
 
* ''major topics, events, milestones''
Line 64: Line 64:
 
[https://joannakl.github.io/cs480_s18/daily.html The day by day outline for the Spring 2018 instance of this course.]
 
[https://joannakl.github.io/cs480_s18/daily.html The day by day outline for the Spring 2018 instance of this course.]
  
= Notes to Instructor =
+
== Notes to Instructor ==
  
 
This course has been offered once so far. It will be revised before the next offering in spring 2019. The revisions will be based primarily on student feedback and instructor experience. (See the Moving Forward section for some directions of revisions.)
 
This course has been offered once so far. It will be revised before the next offering in spring 2019. The revisions will be based primarily on student feedback and instructor experience. (See the Moving Forward section for some directions of revisions.)
Line 70: Line 70:
 
Feel free to contact me with any questions regarding the materials and the structure of this course.
 
Feel free to contact me with any questions regarding the materials and the structure of this course.
  
= Moving Forward =
+
== Moving Forward ==
  
 
The course will be revised before its next offering in spring 2019.
 
The course will be revised before its next offering in spring 2019.
Line 80: Line 80:
 
* go deeper into how version control works
 
* go deeper into how version control works
  
= License =
+
== License ==
 
{{License CC BY SA}}.
 
{{License CC BY SA}}.
  

Revision as of 18:02, 28 May 2018


THIS PAGE IS CURRENTLY UNDER CONSTRUCTION

Overview

Course Open Source Software Development (OSSD)
Institution Courant Institute of Mathematical Sciences, New York University
Instructor(s) Joanna Klukowska
Term Spring 2018, course website, 38 students
Course Overview This course prepares students to become active participants in open source projects. It begins with an overview of the philosophy and brief history of open source development, followed by an in-depth look at different types of open source projects and the study of various tools involved in open source development. In particular, it covers the collaborative nature of open source projects, community structure, version control systems, licensing, intellectual property, types of contributions (programming and non-programming) and the tool-chains that enable such contributions. The students are expected to contribute to existing open source projects.
Course Length {{{courselength}}}
Student Characteristics This course is upper-level undergraduate elective.
The first time this class was offered, there were 38 students.
Prerequisites Familiarity with a programming language for the chosen FOSS project. Basic familiarity with command line tools and a version control system.
Formally: Computer Systems Organization course (required prerequisite for all electives).
Infrastructure The class meets twice a week for 75 minutes each time. In general, one of the class meetings will consist of discussions of the reading assignments and/or guest speakers, and the other class meeting that week will be for learning activities, project status updates, and presentations, or time to work on the project.

Use of specific software and technologies depends on the chosen FOSS projects.

The instructor should have a GitHub organization to which all students are added at the start of the semester. The students should have rights to create repositories within this organization.

Students should be able to bring their computers to the class meetings.


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

Assessment Methods

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



  • Weekly blog posts
  • Participation in class discussions
  • Small individual contributions
  • Team project contributions
  • Quizzes
  • Midterm and final exams

Course Outline

  • major topics, events, milestones
  • learning activities that can be adopted or adapted
  • new learning activities that should or could be developed
  • include links to foss2serve Learning Activities where appropriate
  • reading assignments and supporting materials
  • or link to course website

The day by day outline for the Spring 2018 instance of this course.

Notes to Instructor

This course has been offered once so far. It will be revised before the next offering in spring 2019. The revisions will be based primarily on student feedback and instructor experience. (See the Moving Forward section for some directions of revisions.)

Feel free to contact me with any questions regarding the materials and the structure of this course.

Moving Forward

The course will be revised before its next offering in spring 2019. Some of the changes suggested by students and/or instructor:

  • start working on projects earlier in the semester (not necessarily "real" projects, but maybe another type of the website project)
  • create a list of "easy for beginners" projects
  • reorganize order in which topics are covered
  • go deeper into how version control works

License

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