Skip to main content

CS2030/S Programming Methodology Overview

· 2 min read

P.S. The following information on CS2030/S Programming Methodology II is based on past experience and subject to changes. The purpose is to provide a rough idea of what is to come for prospective students so that one can prepare early if possible.

In the recent run of the module, "A module about abstractions" is Prof Henry's description for CS2030. Having the opportunity to be a lab tutor for this module, I think it is a very fair way to describe it.

Weekly labs (5%)- Need not complete the solution during lab
- Useful for checking concepts taught in lectures
- May need to refer to Java API for unfamiliar syntax
- It is perfectly normal to not be able to complete the labs or find them difficult during the lab sessions. This is partly because of unfamiliarity with Java APIs that are involved (e.g., use of Generics, Optionals, Streams)
Individual project (10%)- Two-part projects that require you to write small to medium scale programs
- Released during read week 1 & 2 (Or released incrementally throughout the semester)
- Difficulty lies in managing code complexity and adhering to design principles
- Strongly advised to start early and anticipate some serious work required to complete them on time
Practical assessment #1 in week 7 (15%)- 90 minutes levelized coding exercise
- Similar to lab exercises but tests all topics
Practical assessment #2 in week 12 (20%)- Similar to Practical 1, except in terms of difficulty
In-lecture quiz (5%)- Meant to test your understanding
Class participation and peer learning activities (5%)- Participate in posting/answering questions on Github issues
- Add notes on Github Wiki
Final exam (40%)- Structured questions that might involve writing of small Java programs to implement OOP design or other topics covered
- Format similar to PYPs but not really predictable as this depends on the setter

Updated as of: 28/4/2021