CS3281 and CS3282 (Thematic Systems Project I & II) focus on building students’ software engineering abilities. Both modules involve working within the context of large OSS projects that are being developed and used in industry; students will not be building a new product from scratch.
These two modules are to be taken concurrently and are offered in Semester 2 only.
Prerequisites : CS2103 or CS2103T
CS3281&2 will push your code quality up, towards levels expected from engineers working at high-end software companies such as Facebook, Google, and Microsoft. Special emphasis will be placed on maintainability, efficiency, scalability, and reliability.
It will build up your ability to work with large, complex systems that you will likely encounter in future as a Software Engineer. CS3281&2 provides an entry point to the von Neumann Program (the only other entry point is CS3217.) If you perform well in this module, you will be invited to join the vNP.
This semester's version has a slightly different structure from the previous offering
The two modules will run concurrently, but separately.
- CS3281
- [30%]: Do a small contribution to a big OSS project
Pick an established OSS project of your choice (recommended: pick from projects participating in the Google Summer of Code programme thus increasing your chances of getting into future GSoC programmes) and contribute to it in relatively small ways (e.g. bug fixing) while interacting with its developers and learning how the project is run. - [70%]: Build up an expertise area
Pick an expertise area (of your choice) that can enhance your SE career prospects -- a tool e.g. Node.js, a technology e.g Cloud, an aspect e.g. Code quality -- and develop a demonstrable expertise in that area.
- [30%]: Do a small contribution to a big OSS project
- CS3282
- [100%]: Do a major contribution to a medium size OSS project
Students will be working in teams to add a major feature to one of the NUS-OSS Projects (of your choice). Those who do well can stay with the project after the module and get promoted to higher positions (paid) of the project. In addition, those who score well for this module will have guaranteed internship positions for future SIP/ATAP rounds.
- [100%]: Do a major contribution to a medium size OSS project
- As CS3281&2 will be run and graded as two separate modules each generating a 4MC workload, i.e. 10+10= 20 hours of workload per week in total.
- Lectures are compulsory to attend.
- CS3281 lecture -- MON 1200-1400 in COM1-B103
- CS3282 lecture -- THU 1200-1400 in COM1-B103
- In addition, you are required to attend a compulsory full-day Code Sprint on the first Saturday of the semester (Jan 14th).
- No tutorials. Ignore the tutorial timings given in IVLE/CORS.
Students will be assessed on each module separately, based on their contributions to the project, and their skills/expertise gained. Both modules are 100% CA with no final exam.
The class enrollment is capped at 20 students due to resource constraints.
There is a soft lower bound for students’ CAP of 3.9; students may still apply for CS3281&2 if they have a CAP below 3.9, but the candidate must demonstrate his/her strong passion for software engineering.
Student selection is not based on CORS bidding. Instead, follow these instructions to apply for the module:
- Go to IVLE, click on ‘Bookmarked modules’
- Search for and add the CS3281Registration module
- Submit your application using the Module Registration survey
- Upload your transcript to the Module Registration workbin. File name should be your name.
Interested students are to submit the registration form and upload their transcript by Mon 5 December 2016. Late registrations will not be entertained.
You are allowed to apply to both CS3217 and CS3281&2. However, if selected for both, you will have to select one of the two to enroll in.
The outcome of all applications are expected to be released via email between 12-19 December 2016.
-
Q: Can I take this module while doing ATAP/SIP?
A: No. You need to be on-campus for lectures and project meetings. -
Q: For CS3282, can I choose a project that is not one of the NUS-OSS projects?
A: No. As 100% your CS3282 module grade depends on your project work, you need to work in a project that is fully under our control. -
Q: Can CEG students take this module?
A: Yes. -
Q: Can I take this module if I have taken CS3217 or CS3216 earlier (or plan to take them in a future semester)?
A: Yes, as long as you don't take them in the same semester as this module.
Please direct any questions to CS3281&2 module coordinator Dr Damith Rajapakse
damith [at] comp.nus.edu.sg