Lecture dates and topics for AY2026/2027, Semester 1. For work that needs to be completed, see Your TODOs.
Week 1
No Lecture (National Day)
Week 2
Lecture 0: Hello world, types, and imperative programming
Week 3
Lecture 1: Conditionals and functions I
Week 4
Lecture 2: Functions II, the stack, and structs
Week 5
Lecture 3: Recursion I
Week 6
Lecture 4: Loops I and arrays
PE0
Practical Examination 0
Recess Week
No Lecture
Week 7
No Lecture (Midterm)
Midterm
Pen-and-paper Midterm
Week 8
Lecture 5: Pointers and Strings
Week 9
Lecture 6: Dynamic Memory Allocation
PE1
Practical Examination 1
Week 10
Lecture 7: Recursion II: Recursive Data Structures
Week 11
Lecture 8: Loops II: Invariants and other topics
Week 12
Lecture 9: I/O, Standard Library and the Memory Model
Week 13
No Lecture (Deepavali)
PE2
Practical Examination 2
Reading Week
No Lecture
Final