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

Final Examination