CMSC 22800

Free Software Practicum

Prerequisites: Unix programming experience and consent of instructor.

Catalog Description: Students who are already proficient in programming work on real software and collaborate with distributed teams of developers. The course work consists entirely of one or more programming tasks, which must produce freely distributed code. Course work may be chosen from the bug lists and to-do lists of well known free software projects, such as Gnome, KDE, Hurd, Mozilla. Students may work individually or in groups. To earn credit the work of the student must be incorporated into the chosen project's distribution.

Long Description: This course provides students who already program well an experience working on real software used by significant numbers of people, and collaborating with distributed teams of developers. The course work consists entirely of one or more programming tasks, which must produce freely distributed code. Course work may be chosen from the bug lists and to-do lists of well known free software projects, such as Gnome, KDE, Hurd, Mozilla. Students may work individually or in groups. To earn credit the student's work must be incorporated into the chosen project's distribution.

The practicum requires at least three students who must organize the course themselves. The class meets once a week to discuss student projects. There are no lectures. Each student with an individual task, and each group, meets regularly with the instructor to plan and evaluate course work and review code. Grades are determined by the amount and quality of project work, based on work plans negotiated between the students and the instructor.

P/NP enrollment is encouraged. Project work may extend through more than one quarter, with credit taken in the final quarter.

Instructors: M. O'Donnell
Quarter offered: Autumn, Winter, Spring.
Last Verified by Michael O'Donnell on 14 November, 2006.