The info given below is from the previous round, as a reference only. Major changes are highly unlikely, however.
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.
Deliverables:
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.
Grading:
In this component you will aim to develop an expertise in the use of AI tools in SE projects, in large production systems in particular. You will experiment with latest AI tools (e.g., Cursor, Claude, Gemini etc.) and evaluate how they can be used in the NUS-OSS project you are working in.
You will share this knowledge with the class (and the outside world -- through channels such as se-edu/guides), and guide CS3281 students in using those tools.
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 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.
Deliverables:
Grading:
Contribute to another NUS-OSS project.
Deliverables are similar to CS3281.