OXFORD UNIVERSITY COMPUTING LABORATORY

Procedural Programming


Moderations in Computer Science, Paper CS2
Moderations in Mathematics & Computer Science, Paper CS2
MEng in Engineering & Computing Science
MSc in Computer Science, Schedule A

16 lectures HT
Professor R S Bird

For MSc Students Only
Please note that you cannot take Formal Program Design and Procedural Programming - you may take only one of these options. Familiarity with the ideas of Functional Programming is a prerequisite for the course.

Overview

This course applies lessons that have been learnt in Functional Programming to the design of programs written in a procedural style. By studying a sequence of programming examples, each a useful software tool in its own right, students learn to construct programs in a systematic way, structuring them as a collection of modules with well-defined interfaces. The course also deals with the translation of functional programs into procedural ones, and introduces the idea of loop-invariants for understanding and reasoning about loops. The course concludes with the study of a larger programming example, such as a graphical program for finding the best route for driving between specified towns in the UK. Through lab exercises, students learn to create, debug and maintain programs of a non-trivial but moderate size.

Learning Outcomes

After studying this course, undergraduates will be able to:
  1. Translate basic functional idioms into procedural ones.
  2. Design simple loops, using invariants to explain why they work correctly
  3. Use subroutines and modules to structure more complex programs.
  4. Design data structures using arrays, records and pointers.
  5. Understand the procedural implementation of some common algorithms.


[Oxford Spires]



Oxford University Computing Laboratory Courses Research People About us News