CS3282 : Thematic Systems Project II

Course structure

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%:

Lectures

THU 1400-1600 in COM1-02-12

[PM] Project Management

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:

  • Based on quality and quantity of the contributions.

[LT] Lightning talks

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.

  • Each student is required to give two short talks on interesting topics useful to your classmates.
  • There are three rounds of lightning talks: Round A, B, and C. However, Round B is a rehearsal for Round C i.e., only two talks, but the second one is given twice.
  • Each talk will be about 7 minutes + 3 minutes for Q&A. There will be 7-8 talks per week.
  • You are encouraged to rehearse the talk with one or more of your team members and improve based on their feedback before delivering it to the class.
  • After the talk, you are required to post the talk summary (and the slides) as an issue in the nus-cs3282/2024 repo for future reference and further discussion.

Grading

  • Lightning talks [5+15 = 20%] -- based on peer evaluations and instructor observations
  • Criteria: usefulness of content and quality of delivery

[PC] Professional Conduct

This component is measured based on peer evaluations and instructor observations

  • Peer evaluations will measure:
    • How helpful you are to classmates in peer reviewing lightning talk rehearsals, book chapter contributions, etc.
  • Instructor observations will measure:
    • Punctuality and attentiveness for lightning talks
    • Conformance to administrative requirements of the course
    • Adherence to course deadlines
    • The quality of feedback given for lightning talks (i.e. post-talk feedback)
    • Participation in class discussions

[EP] External Project

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.

Deliverables:

  • 2 - 3 PRs merged. Only merged PRs are counted.
  • A one-page report (due by week 10) containing,
    • a comparison between the process of the external project to the
    • suggestions for the internal project based on what you observed in the external project

Grading:

  • Based on PRs completed [20%] and the report [5%]

[IP2] 2nd Internal Project

Contribute to another NUS-OSS project.

Deliverables are similar to CS3281.

Pre-Course Preparations

  • Start looking for an external OSS project. Once you have found a few potential projects, try to get started on contributing to them. Even work done before the semester starts can count for course grading.