Course - Imperative Programming I and II HT23
This course was the first “standard” programming course, following from Course - Functional Programming MT22U, 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, InvariantsU, 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 treesU. There was a lot of overlap with Course - Design and Analysis of Algorithms HT23U.
- Course Webpage
- Course Materials
- Predecessor to: Course - Imperative Programming III TT23U
- Significant overlap with: Course - Design and Analysis of Algorithms HT23U
- Previous programming course: Course - Functional Programming MT22U
- Other courses this term: Courses HT22U
Notes
- Notes - Imperative Programming HT23, Abstract data typesU
- Notes - Imperative Programming HT23, Binary search treesU
- Notes - Imperative Programming HT23, Bit mapsU
- Notes - Imperative Programming HT23, Hash tablesU
- Notes - Imperative Programming HT23, InvariantsU
- Notes - Imperative Programming HT23, Linked listsU
- Notes - Imperative Programming HT23, MiscU
- Notes - Imperative Programming HT23, Object-oriented programmingU
- Notes - Imperative Programming HT23, Priority queuesU
- Notes - Imperative Programming HT23, ScalaU
- Notes - Imperative Programming HT23, TestingU
Problem Sheets
Lectures
Part I
- Lecture - Imperative Programming, IU
- Lecture - Imperative Programming HT23, IIU
- Lecture - Imperative Programming HT23, IIIU
- Lecture - Imperative Programming HT23, IVU
- Lecture - Imperative Programming HT23, VU
- Lecture - Imperative Programming HT23, VIU
- Lecture - Imperative Programming HT23, VIIU
- Lecture - Imperative Programming HT23, VIIIU
- Lecture - Imperative Programming HT23, IXU
Part II
- Lecture - Imperative Programming HT23, XU
- Lecture - Imperative Programming HT23, XIU
- Lecture - Imperative Programming HT23, XIIU
- Lecture - Imperative Programming HT23, XIIIU
- Lecture - Imperative Programming HT23, XIVU
- Lecture - Imperative Programming HT23, XVU
- Lecture - Imperative Programming HT23, XVIU
- Lecture - Imperative Programming HT23, XVIIU
- Lecture - Imperative Programming HT23, XVIIIU
- Lecture - Imperative Programming HT23, XIXU
- Lecture - Imperative Programming HT23, XXU