NTU Mods has new features!

Not offered in the current semester · Last offered AY2025/2026 Semester 1
ModsSC3270

Reasoning About Programs

Last offered — 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
Grade Type
PrerequisiteSC2001, SC2301, MH1403, MH1812
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
Not Available As BDE/UE To Programme
Not Available As Core To Programme
Not Available As PE To Programme
Mutually Exclusive With
Not Offered As BDE
Not Offered As Unrestricted ElectiveYes
Exam

Total hours per week: 6 hrs