New: mobile timetable rebuilt — faster, more reliable, easier to use →

Historical snapshot — AY2025/2026 Semester 1 · View current offering →
ModsSC3270AY2025/2026 Semester 1

Reasoning About Programs

AY2025/2026 Semester 1

This course will introduce you to the mathematical foundations behind programming languages and the principles of rigorous program reasoning. Students will become confident computational thinkers with an appreciation for how software design can be guided by contract-based reasoning and how modern software implementations can be safeguarded by language features such as type systemsand principled program analysis.These techniques are the basis for several professional activities in computer science:- Designing, specifying, and standardising programming languages (e.g. ISO [C/C++], ECMA [JS], W3C [Wasm])- Developing program analysis and bug-finding tools (e.g. Typescript, Facebook's Infer)- Conducting formal verification of safety-critical systems (e.g. CompCert). This course also serves as a gateway to more advanced research topics in computer science, such as type theory, separation logic, and mechanised theorem proving.

AUs3.0 AUs
CategoriesCoreBDE
Not Available To ProgrammeACBS, ACC, ADM, AERO, AISC, ARED, ASEC, BACF, BASA, BEEC, BIE, BMS, BS, BSB, BSPY, BUS, CBE, CBEC, CEE, CHEM, CHIN, CMED, CNEL, CNLM, COMP, CS, CVEC, ECMA, ECON, ECPP, ECPS, EEE, EEEC, EESS, ELAH, ELH, ELHS, ELPL, ENE, ENEC, ENG, ESPP, HIST, HSCN, HSLM, IEEC, IEM, LMEL, LMPL, LMS, MAT, ME(DES), ME(IMS), ME(NULL), ME(RMS), MEEC(DES), MEEC(IMS), MEEC(NULL), MEEC(RMS), MS, MS-2ndMaj/Spec(MSB), MTEC, PESC, PHIL, PHMS, PHY, PLCN, PLHS, PPGA, PSLM, PSMA, PSY, REP(ASEN), REP(BIE), REP(CBE), REP(CVEN), REP(EEE), REP(ENE), REP(MAT), REP(ME), ROBO, SCED, SOC, SPPE, SSM
Not Available To All Programme WithYr1
Exam

Available Indexes

MonTueWedThuFri
930

COMMON LEC (SCL4)

0930-1120 Mon

ONLINE, LT20

Wk10, Teaching Wk1-9,11-13

COMMON LEC (SCL4)

0930-1120 Mon

ONLINE, LT20

Wk10, Teaching Wk1-9,11-13

1000
1030
1100
1130

10519 TUT (SCEL)

1130-1220 Mon

ONLINE, LT20

Wk10, Teaching Wk2-9,11-13

10519 TUT (SCEL)

1130-1220 Mon

ONLINE, LT20

Wk10, Teaching Wk2-9,11-13

1200