Module 06-05934 (2018)

Models of Computation

Level 2/I

Outline

The module will introduce various automata theoretic models of computation and discuss their practical and theoretical significance. Finite automata, grammars and stack automata and Turing machines will be introduced. The fundamental ideas of (non-)computability and complexity will be presented. There will also be a section on the Lambda Calculus and its connection with Functional Programming.

Aims

The aims of this module are to:

introduce a variety of formal models of computation

explain the significance of formal models from a practical and a foundational point of view

make familiar with the fundamental results in the theory of computation

explain the way in which formalisations are used to address real-life computational problems

Learning Outcomes

On successful completion of this module, the student should be able to: