Changes

Jump to: navigation, search

DPS909

258 bytes added, 12:05, 30 August 2008
Major Project
==Major Project==
This is a project course, and the majority of each student’s mark will come from work done on a real Mozilla development project. The primary goal of this project is to get students involved in the Mozilla /OpenOffice.org 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., Mozillaor 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 Mozilla open source community. This means that collaboration between students and even other members of the Mozilla open source community is acceptable practice.
To summarize, students should:
* Help each other, contribute to one another’s projects
* Work with and within the Mozilla open source community
* Give others encouragement and credit when they offer help
* Use existing open source code whenever possible
===Details===
* Each student must 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 in the wiki]]. 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). * Become a Contributor to one or more other projects. This is something that will just happen as you interact on IRC or in class. As people need help, you can choose to get involved with things. You are encouraged to use the [[Contrib Opportunities]] page to list and find things you can do. For example: helping to debug something, doing research into a problem, writing some tricky code. Over time your list of contributions to other peoples’ projects should grow. Keep track of this in your personal page.
* Keep your project page on the wiki updated. Add technical information to the Project Details section as you get a better understanding of the problem, and keep track of your project status in the Project News section. You should be updating this page at least once per week.
* Update your blog twice a week. Remember that the more you write, the easier it will be to get help from other people: it is easier for people to understand your question with supporting documentation on the web.

Navigation menu