Lectures

Nils Anders Danielsson

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.

The following plan is preliminary, and may be updated during the course. Slides marked with an asterisk (*) are from last year’s course, and are likely to be changed in some way.

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.