Open main menu

CDOT Wiki β

Changes

OSD600 Fall 2010

281 bytes added, 10:58, 12 January 2009
no edit summary
==[http://cs.senecac.on.ca/index.php?outline=OSD600 Subject Description]==
This course introduces students to the technological, social, and pragmatic aspects of developing open source software through direct involvement in the Mozilla, Eclipse WTP and OpenOffice.org projects. Students will learn to use the tools, techniques, and strategies of open source developers. This is a project-based programming course. The Mozilla, Eclipse WTP and OpenOffice.org projects have been chosen as examples of an open source projects because of their maturity, breadth and depth of technology, and strong community.
==Course Outcomes==
* Use the tools of open source development, for example: distributed revision control; documentation tools; automated build and test systems; debuggers; source code utilities; tracking systems; on-line resources, etc.
* Work with a pre-existing large source code base
* Write software that integrates and interacts with the Mozilla, Eclipse WTP or OpenOffice.org code. For example: add-ons; bug fixes; new features; etc.* Work collaboratively with fellow students and members of the Mozilla, Eclipse WTP or OpenOffice.org communities.
==Major Project==
This is a project course, and the majority of each student’s mark will come from work done on a real development project. The primary goal of this project is to get students involved in the Mozilla/OpenOffice.org/Eclipse WTP development community and codebase. Through this experience students will learn about the processes, tools, and practices involved in developing software as part of a large open source community.
===Philosophy===
Second, consider the typical restrictions on peer-collaboration. In this project students are encouraged to work together, to help one another, to look at each other's code, etc. Open source collaboration is about leveraging the collective knowledge of a community to help solve the problems of the individual.
Third, consider the sharp dividing line between student projects in most programming courses. For the most part, students are evaluated on their ability to do a particular project or to solve a particular problem on their own. The outcome is measured against peer outcomes. However, in this course students are not in competition with their peers; rather, they are all working on one large project (i.e., Mozilla or Eclipse WTP or OpenOffice.org) with many sub-projects within it. As a result, there is no clean line to divide one student’s work from another, or even student work from that of the open source community. This means that collaboration between students and even other members of the open source community is acceptable practice.
To summarize, students should:
===Details===
* Each student must specialize in either OpenOffice.org or Eclipse WTP and pick a project from the list of proposed projects, or have another project idea approved by the instructor.
* Students are strongly encouraged to work individually, and only in rare circumstances will partnerships be allowed.
* Create a project page based on the [[Sample Project|'Sample Project' template]]. If someone has already created a page for a project you want to work on, speak to that person to see if you can join him/her. If s/he says yes, add your name to the Project Leader(s) section; otherwise pick another project and become a Contributor instead (see below).
==Intellectual Property==
Given that this course is focused on open source development, and given that students work on real open source codebases, all student work will become open source. The particular license used will be determined based on the particular project and open source project (e.g., Mozilla code licensed as such).
==Grading==
* '''20%''' - Project Wiki Page and Blog. You will be marked on your project and personal page's quality, depth of explanation, frequency of update, etc.
* '''20%''' - Contributions to other projects. You will be marked on the quantity and quality of your contributions to other groups.
 
==Schedules==
 
Students will be grouped into one of two communities/projects, and should follow the appropriate schedule for their group:
 
* [[DPS909 and OSD600 Winter 2009 Eclipse Weekly Schedule|Eclipse Weekly Schedule]]
* [[DPS909 and OSD600 Winter 2009 OpenOffice.org Weekly Schedule|OpenOffice.org Weekly Schedule]]
==Resources==