Introduction to Programming
Take a step closer to the machine, transforming functional specifications into imperative code.
At the point this course is offered, students already have a sense of computers and writing
functional specifications with high level abstract models. In this course, we take a step closer to the machine, transforming functional specifications into imperative code. From a purely evaluation model, elements of sequential execution, memory and data layout are introduced. It runs alongside a computer internals course which clarifies machine details and how code “runs”. Problem solving, modelling at high level and refining to low level code, arguing correctness, and looking at informal aspects of clean and elegant code are some important aspects of this course.
