The time table includes slots for lectures, and slots for tutorials. This division may not be followed exactly: questions will be asked during lectures, and there may be some lecturing during tutorials.
Please read the recommended texts before coming to the lectures.
Week | Topics | Slides |
---|---|---|
1 | Introduction. Injections, surjections and bijections. Countable and uncountable sets. Diagonalisation. The halting problem. Models of computation. The Church-Turing thesis. | 1 |
2 | Inductive definitions, functions defined by primitive recursion, and proofs by structural induction. Two models of computation: PRF and the recursive functions. | 2 |
3 | Concrete and abstract syntax. Operational semantics. Several variants of the halting problem. Representing inductively defined sets. | 3 |
4 | Χ-computability. A self-interpreter for χ. Reductions. More problems that are or are not computable. More about coding. | 4 |
5 | Rice’s theorem. Turing machines: Abstract syntax, operational semantics, variants, representing inductively defined sets, and Turing-computability. | 5 |
6 | Representing Turing machines. A self-interpreter (a universal Turing machine). The halting problem. A Turing machine that is a χ interpreter. The Post correspondence problem. | 6 |
7 | Repetition (mainly). Course evaluation. | 7 |
Answers to quizzes.