Course - Imperative Programming I and II HT23


This course was the first “standard” programming course, following from [[Course - Functional Programming MT22]]U, although they did decide to use Scala as the programming language of choice. There are whispers of a time long ago when they taught the course using Oberon which is even more obscure.
The first part of the course was about making formal proofs on the behaviour of imperative programs using a technique called [[Notes - Imperative Programming HT23, Invariants]]U, and proving the correctness of algorithms like binary search this way.
The second part of the course mainly focused on abstract data types and implementing different data structures like [[Notes - ADS HT24, Binary search trees]]U. There was a lot of overlap with [[Course - Design and Analysis of Algorithms HT23]]U.

Notes

Problem Sheets

Lectures

Part I

Part II

Problem Sheets




Related posts