Theory of Computation
Unit Director: Bogdan WarinschiLecturers: Oliver Ray, Bogdan Warinschi
This unit provides an introduction to classical models of computation, the equivalence of different computational models, and limits on what can be computed in terms of uncomputability and intractability. Consult the handbook entry for further details.
Timetabled Lectures and Labs
The first half of the lecture course will be delivered by Dr Bogdan Warinschi, the second half by Dr Oliver Ray. 'Labs' will occur during the timetabled slots, but will not take place in the computer labs. As this is a theoretical course we will be organising problems classes with postgraduate Teaching Assistants. You will be assigned to a problem class with 10 or 11 others to take place during one timetabled hour per week. The first problem classes will take place in week 14. For each problem class there will be an associated, unassessed, problem sheet that you should attempt beforehand and bring your answers along with you.Office Hours
Lecture Notes
Students are expected to take notes during lectures. Any supplementary notes will be posted here as the course progresses.The course closely follows the core text, Introduction to the Theory of Computation of which there are several copies in the library. Reading the appropriate chapters as we progress through the course is recommended.
To succeed on this course we recommend you attend lectures, take detailed notes, do the weekly problem sheets, and read the course text. Please share copies of the course text among yourselves by establishing study groups, etc.
Lecture summaries and associated reading
Study Guide
The study guides give you an overview of the course topics, and excercises to work through on your own and for the problems classes:- Study Guide 1 (Regular languages)
- Study Guide 2 (Context-free languages)
- Study Guide 3 (Turing Machines)
- Tutorial on Notation for Turing Machines and Computations thereof
Assessment
Assessment is by coursework (30%) and exam (70%)The first coursework is available: Coursework 1 . You will need the file data.txt for problem 5. This coursework is worth 15% and is due on March 16th. Late deadline is March 18th. The coursework should be handed in class at the beginning of the lecture, or submitted as a PDF file via the submission system. (Please read the instructions in the coursework on how to name the file you submit.)
The second coursework is available: Coursework 2 . The coursework is worth 15% and is due on Wednesday May 11th. The coursework should be submitted via the electronic submission system. Late deadline is Friday May 13th. The coursework should be handed in class at the beginning of the lecture, or submitted as a PDF file via the submission system. (Please read the instructions in the coursework on how to name the file you submit.)
Recommended Reading
The 2nd edition of the course text is now in print, but the 1st edition is also acceptable and can be bought second-hand much more cheaply. There is an errata sheet for the course text. If you think you've found a mistake in the book that's not covered in the sheet then let Sipser know, or if you prefer to, check it over with Bogdan or Oliver first.- Sipser, M. Introduction to the Theory of Computation.
1996. Course Technology. ISBN: 053494728X
Price: £57.00
Recommended
- Garey, M. R. and Johnson, D. S. Computers and Intractability: A Guide to the Theory of NP-Completeness.
Freeman and Co.
1979.
ISBN: 0716710455
Price: £40.99
Background
- Truss, J. Discrete Mathematics for Computer Scientists (2nd edition).
1998. Addison Wesley ISBN: 0201360616
Price: £41.99
Background

