The following are the main parts of the course:
You can choose a combination of the following optional components to make up the remaining 25%:
THU 1400-1600 in COM1-02-12
Objective : To learn to manage a project.
Contribute as a senior developer to the NUS-OSS project you joined in CS3281. Typical work includes reviewing and managing PRs, guiding new contributors, process improvements, other administrative tasks. You can also tackle development tasks that are too difficult for newer developers.
Contributions to the project as a senior developer, and possibly, an area-lead-in-training.
Ideally, at the end of the semester, you should reach a level in which you can at least shoulder some of the project-lead level responsibilities, technical and managerial.
One important way you can establish credibility as an 'Expert' is by educating others about your expert area and evangelizing it. Lightning Talks is meant to promote that aspect.
This component is measured based on peer evaluations and instructor observations
Objective : To learn to work with big OSS projects.
You can choose any OSS project as your External project, provided it is be a big mature external project with an established community and experienced developers.
Some sources of potential external projects:
If you are not making good progress with the chosen project by week 5, you should switch to a different project. Or you can try multiple projects at the same time. "The project was too slow to respond" is not a valid excuse.
The work under this part is cumulative i.e. the work can be in more than one qualifying projects. Even work done before the semester can be counted.
Contribute to another NUS-OSS project.
Deliverables are similar to CS3281.