IFN505 Analysis of Programs
School of Electrical Engineering and Computer Science, Queensland University of Technology
While computer programming is often taught as a design-based discipline, centred around stepwise development processes, it's important to recognise that programming also has a well-established mathematical basis developed by Computer Science pioneers such as Hoare and Dijkstra. Properties of computer programs can be defined formally and it's even possible to reason about the characteristics and performance of program code before running it. This knowledge is essential when developing 'critical' computer programs, where strong guarantees of program correctness are required. This unit describes some of these underlying principles to help give you a deeper understanding of your chosen field.