667
edits
Changes
OSD600
,→Grading
=Topics in Open Source Development=
==[http://cswww.senecac.onsenecacollege.ca/index.phpcgi-bin/subject?outlines1=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 projectlarge open source projects. Students will learn to use the tools, techniques, and strategies of open source developers. This is a project-based programming course. The Mozilla project has been chosen as an example open source project because of its maturity, breadth and depth of technology, and strong community.
==Course Outcomes==
* Describe the history and philosophy of an open source project
* Choose between the various open source licenses understanding the implications for users, developers, and the software community in general
* Use the communication modes particular to the open source world through participation in such things as GitHub, mailing lists, IRC, wikis, etc.
* 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 existing open source systems (e.g., Firefox). For example: add-ons; bug fixes; new features; etc.* Work collaboratively with fellow students and members of the Mozilla open source community.
==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 open source development community and its 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 (ie.eg., Mozilla) 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:
* Use existing open source code whenever possible
* Be open to helping others and to being helped
==Intellectual Property==
==Grading==
Detailed grading information will be discussed later in the term. Below is a breakdown of how students will be graded, and [http://vocamusblog.humphd.netorg/davevocamus-680/?p=680 this blog post] gives more details about the rationale:
* '''6080%''' - Project Deliverables (e.g., code, documentsPull Requests, documentation), marked in terms of quality, quantity, process, etc. Your project will be marked at four milestone releases, the number and values being:** '''1510%''' - [[DPS909/OSD600_Fall_2018_Release_0.1|0.1 Release (Due ]] due Fri Sept 29)28** '''1530%''' - [https://github.com/humphd/hacktoberfest-at-seneca-2018 0.2 Release (Due ] due Wed Oct 20)31** '''1520%''' - [[OSD & DPS909 Fall 2018 Release 0.3|0.3 Release (Due ]] due Fri Nov 17)16** '''1520%''' - [[OSD & DPS909 Fall 2018 Release 0.4|0.4 Release (Due ]] due Fri Dec 8)7* '''20%''' - Project Wiki Page and Labs/Blog. You : will be marked on your project and personal page's quality, depth of explanation, frequency of update, etcDone/Not Done (i.e. * '''20%''' - Contributions to other projects, quizzes, lab assignmentsno subjective grading will be applied). You will be marked on the quantity and quality of your contributions Students are expected to other groups, as well as complete all course labs in-class quizzes and lab assignments. Contribution opportunities will be provided by your professororder to pass the course.
==Resources==
* [[DPS909 and & OSD600 Fall 2011 Weekly Schedule and Notes|Weekly Schedule and Notes2018]]* [[Fall 2011 Open Source Students]]* [httphttps://etherpadseneca-open-source.mozillaslack.com:9000/ Mozilla's EtherpadSeneca Open Source Slack] and [http://etherpad.cdot.proximity.on(sign-up with your @myseneca.ca:9000/ Seneca's Etherpad]* [http://github.com Github]* [[Git Cheatsheet and Gotchas]]email)
* [http://zenit.senecac.on.ca/~chris.tyler/planet/ Open Source@Seneca Planet]
* [[OSD600 Fall 2007]]
* [[OSD600 Fall 2008]]
* [[OSD600 Fall 2010]]
* [[OSD600 Summer 2010]]
* [[OSD600 Fall 2011]]
* [[OSD600 Fall 2012]]
* [[OSD600 Fall 2013]]
* [[OSD600 Fall 2015]]
* [[OSD600 Winter 2017]]
* [[OSD600 Fall 2017]]
* [[OSD600 Winter 2018]]
[[Category:OSD600]]