Introduction to Theoretical Computer Science - Lectures

The following is the provisional plan for the course.

Week 1
Tue 19 Sep, Lecture 1
Finite Automata. (Revision of Inf1!)
Slides (and condensed version).
Thu 21 Sep, Lecture 2
Regular languages and expressions (partly revision).
Slides (and condensed version).
Week 2
Mon 25 Sep
Coursework 1 will be issued
Tue 26 Sep, Lecture 3
Non-regular languages, context-free languages and grammars
Thu 28 Sep, Lecture 4
Push-down automata, pumping for CFLs
Week 3
Tutorial sheet for week 3 tutorials.
Tue 3 Oct, Lecture 5
Chomsky Hierarchy. Register machines. Programming RMs. Examples. Pairing.
Thu 5 Oct, Lecture 6
Universal RMs. The Halting Problem (with proof). Other models.
For more information and technical details of Turing Machines, see either Sipser ch.3 (for the TM formalism) and 4 (for the Halting Theorem).
Week 4
Tutorial sheet for week 4 tutorials.
Tue 10 Oct, Lecture 7
Computable functions. Decision problems and oracles. Reductions. Undecidability proofs. Uniform Halting. Rice's Theorem.
Reading: for reductions and undecidable problems, Sipser ch. 5.
Thu 12 Oct, Lecture 8
Looping. Semi-decidability. Enumeration. Looping revisited. Uniform Halting revisited.
Week 5
Tutorial sheet for week 5 tutorials.
Tue 17 Oct, Lecture 9
Arithmetical hierarchy. (Not official part of course).
Thu 19 Oct, Lecture 10
Q&A session; optional lecture on games.
Fri 20 Oct
Coursework 1 due at 12:00
Week 6
Discuss Coursework 1 solutions in Week 6 tutorials.
Mon 23 Oct
Coursework 2 will be issued
Tue 24 Oct, Lecture 11
Complexity of algorithms and problems. Polynomial time. Polynomial reductions. Outside P.
Thu 26 Oct, Lecture 12
Non-determinism. The class NP. NP-completeness and statement of Cook-Levin.
Week 7
Tutorial sheet for week 7 tutorials.
Tue 31 Oct, Lecture 13
Proof of Cook-Levin. NP-Complete problems.
Thu 2 Nov, Lecture 14
Beyond NP. Polynomial Hierarchy.
Week 8
Tutorial sheet for week 8 tutorials.
Tue 7 Nov, Lecture 15
Syntax and semantics of untyped lambda-calculus.
Thu 9 Nov, Lecture 16
Recursion and the Y combinator. Simple types.
Week 9
Tutorial sheet for week 9 tutorials.
Tue 14 Nov, Lecture 17
Unexamined: More types
Thu 16 Nov, Lecture 18
Unexamined: Types as propositions
Fri 17 Nov
Coursework 2 due at 12:00
Week 10
Possible fun lectures

Home : Teaching : Courses : Itcs 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh