CS 339/539: Open Source Software Development

Fall Semester 2009

Instructor: Chris Lüer, PhD
Email:
Office: RB 442
See instructor's Web site for office hours.

Lecture: Mo, We, Fr 10:00 am - 10:50 am, RB 122

Description - Materials - Policies - Schedule


Description

Catalog description
Advanced Topics Seminar. In-depth study of a topic taught in a seminar format. Topics will be posted in the department before registration. Prerequisite: permission of the instructor or department chairperson. Open only to juniors and seniors.

Additional description:
Open source software development has become an established development practice. Free and open source software has significant share in many markets and competes successfully with proprietary software. However, the processes and tools used to develop open source software differ significantly from those used for proprietary software. In this course, students study the development of open source software and contribute to an established, large open source project.

Course rationale: The course is an elective course for the bachelor's and master's programs in computer science.


Materials

Required Textbook: Karl Fogel, Producing Open Source Software, O'Reilly 2005.

Papers:

Listings of open source projects and the like:

Grades and handouts are posted to Blackboard. However, we do not use Blackboard for grade calculations.

Mailing List: Archive.
Please ask to be added to the mailing list if you do not receive a welcome email during the first week.


Policies

Cheating. Consequences of cheating in this class: the course grade is lowered, possibly to F. Material that is copied from books or Web pages needs to be quoted and the source must be given. It is OK to discuss general solution strategies with your classmates, but it is not OK to copy programs, parts of programs, or other written answers. Be aware of the Ball State University Student Academic Ethics Policy.

Assignments. Assignments are due at the beginning of lecture on Wednesdays, usually a week after they have been posted. Late assignments will be subject to a deduction of 20% and are accepted up to the beginning of lecture on the following Monday.

Email. Emails to the instructor must be sent from a BSU account; this is the only way for us to verify your identity. Emails from other accounts may be ignored. Please make sure that your mailbox does not overflow, or you may miss emails from the instructor.

Grading for CS 339.
Final Exam 40%
Midterm Exam 10%
Homework 50%

Grading for CS 539.
Final Exam 35%
Midterm Exam 10%
Homework 35%
Term paper 20%

If you receive 93.3% of the total course credit, you will get an A. If you receive 90.0%, you will get an A- or better. If you receive 86.7%, you will get a B+ or better, and so on. The grading scale will be shifted so that the median grade is at least a B+ if there are at least 10 students enrolled. CS 427 and CS 527 are graded separately.

Tests. There will be a midterm exam plus a comprehensive final exam. Each test will cover both the material presented in class and the related material from the textbook. Missed tests can be made up only for documented medical reasons.

Students with special needs or disabilities. If you need course adaptations or accommodations because of a disability, if you have emergency medical information to share with me, or if you need special arrangements in case the building must be evacuated, please talk to me as soon as possible.


Schedule

The schedule is subject to change.
Week Topic Readings (chapters in the textbook) Assignments due
1 Introduction to Open Source    
2 Introduction to the Project; History of Open Source Fogel 1-2 HW 1
3 Holiday (Mo); Overview of Software Engineering    
4 Project Selection; Intro to C++    
5 Mixxx Documentation; Intro to C++   HW 2
6 Code Reading   HW 3
7 Process   HW 4
8 Tools Fogel 3  
9 Test (Mo 10/19); Tools; Fall Break (Fr)    
10 Legal Issues Fogel 9  
11 Tools; Economic Issues Fogel 4-5; The Cathedral and the Bazaar HW 5
12 Management and Communication Fogel 6, 8 HW 6
13 Deployment Fogel 7 HW 7
14 Presentations; Thanksgiving break
   
15 Presentations
   
16 Project Review
   

Final Exam: Tuesday, December 15, 9:45 am - 11:45 am.



Chris Lüer.