OXFORD UNIVERSITY COMPUTING LABORATORY

Models of Computation


Moderations in Computer Science, Paper CS3

16 lectures HT
Dr H Nickau

Overview

This course introduces the classical mathematical models used to analyse computation, including finite state automata, grammars, and Turing Machines.

A computer scientist should be able to distinguish between what can be computed and what cannot. This distinction can only be made with a good scientific model of computers and computation. This course introduces the powerful idea of using a mathematical model to analyse computation.

This course describes a number of different models of computation which were proposed and analysed over the past century. Many of these models were found to be equivalent, in the sense that they allow exactly the same computations to be carried out. Other models were shown to be less powerful, but simpler to implement, and so useful for some purposes.

Learning Outcomes

At the end of the course students will be able to:
  1. Describe in detail what is meant by a finite state automaton, and a Turing machine, and calculate the behaviour of simple examples of these devices.
  2. Design machines of these types to carry out simple computational tasks.
  3. Describe a computational problem in terms of a language, and specify simple languages using a grammar or regular expression.
  4. Reason about the capabilities of standard machines, and demonstrate that they have limitations.


[Oxford Spires]



Oxford University Computing Laboratory Courses Research People About us News