Theory of computation
CS-251
This file is part of the content downloaded from Theory of computation.
- Announcements (Forum)
- Office hours on Wednesdays (Page)
- Ed Discussion forum - CS-251 (External tool)
Part I: Finite Automata
Lecture 1: Introduction and Finite Automata
Chapters 0 and 1.1 from Sipser's book. A few recommended exercises from Sipser's book: 1.4-1.6
Lecture 2: Non-Determinism and Closure Properties
Chapter 1.2 in Sipser. A few recommended exercises: 1.7-1.10, 1.14
- Lecture 2 - Slides (File)
- Lecture 2 - iPad notes (File)
- Exercise set 2 (File)
- Exercise set 2 - Solutions (File)
Lecture (and exercises) cancelled
Continuing next week with Lecture 3
Lecture 3: Non-Regular Languages
Chapter 1.4 in Sipser. A few recommended exercises: 1.29-30
- Guest lecturer: Nathan Harms
First homework released Tuesday 11 March, deadline Thursday 20 March.
- Lecture 3 - Slides (File)
- Lecture 3 - iPad notes (File)
- Exercise set 3 (File)
- Exercise set 3 - Solutions (File)
- Homework 1 (Assignment)
- Homework 1 - Solutions (File)
Part II: Computability
Lecture 4: Turing Machines and its variants, Decidability
Chapters 3.1, 3.2, 4.1 in Sipser. A few recommended exercises: 3.5,4.3
- Lecture 4 - Slides (no animations) (File)
- Lecture 4 - Slides with animations (File)
- Exercise set 4 (File)
- Exercise set 4 - Solutions (File)
Lecture 5: Decidability and Undecidability
Chapters 4.1 and 4.2. A few recommended exercises: 4.3, 4.5
- Lecture 5 - Slides (File)
- Lecture 5 - Slides (with animations) (File)
- Exercise set 5 (File)
- Exercise set 5 - Solutions (File)
- BBC Documentary: Dangerous Knowledge (Cantor, Gödel, Turing) — Watch at your own risk! (URL)
Lecture 6: Undecidability and Reducibility
Chapters 4.2, 5.1 and 5.3 in Sipser. A few recommended exercises: (3rd ed.) 5.4, 5.6, 5.9, 5.13. (3rd ed.: International version) 5.4, 5.6, 5.25, 5.29
Second homework published 8 April with deadline 17 April.
Recap of Part II
Recap of mapping reductions and we solve midterm exam II from 2019.
For the exercise sessions, we have a selection of problems from the final exam from 2020.
- Recap Lecture - Slides (File)
- Recap Lecture - iPad notes (File)
- Recap Lecture - Midterm exam 2019 (File)
- Recap Lecture - Midterm exam 2019 - Solutions (File)
- Exercises - Selected problems in BLUE (from final exam 2020) (File)
- Exercises - Solutions (File)
- Bonus video: What are Turing Machines? (by Victor Braun, EPFL MSc student) (URL)
- Bonus video: Can Turing Machines really do everything? (by Victor Braun) (URL)
- Homework 2 (Assignment)
- Homework 2 - Solutions (File)
Lecture cancelled
Continuing after Easter with Part III
Easter break
However, to get hyped up for Part III, you can get a sneak peek from the following videos (by EPFL MSc student Victor Braun)
Part III: Complexity
Lecture 7: Time complexity, Class P
Chapters 7.1 and 7.2 in Sipser. Start on class NP (Chapter 7.3).
Lecture 8: NP, NP-completeness
Chapters 7.3 and 7.4.
Lecture 9: NP-completeness
Chapters 7.4 and 7.5. Additional recommended exercises: 7.32, 7.38
Third homework published 13 May with deadline 22 May.
- Lecture 9 - Slides (File)
- Exercise set 9 (File)
- Exercise set 9 - Solutions (File)
- Video of the week: Hackerdashery on P vs NP (URL)
- Homework 3 (Assignment)
- Homework 3 - Solutions (File)
Lecture 10: More NP-completeness: 3-matching, subset sum.
Chapter 7.5.
- Lecture 10 - Slides (File)
- Lecture 10 - iPad notes (File)
- NP-hardness of 3-Matching (source: Nature of Computation, p.155) (File)
- Exercise set 10 (File)
- Exercise set 10 - Solutions (File)
Lecture 11: Circuit complexity and Cook–Levin
Chapter 9.3
- Lecture 11 - iPad notes (File)
- Exercise set 11 (File)
- Exercise set 11 - Solutions (File)
- Check out Steve Cook talking about his famous result! (URL)
Bonus material
Past exams together with solutions (to help you with exam prep)
- Final exam 2024 (File)
- Final exam 2024 - Solutions (File)
- Final exam 2023 (Harder exam than usual!) (File)
- Final exam 2023 - Solutions (File)
- Final exam 2022 (File)
- Final Exam 2022 - Solutions (File)
- Final exam 2021 (File)
- Final exam 2021 - Solutions (File)
- Final exam 2020 (File)
- Final exam 2020 - Solutions (File)
- Final exam 2019 (File)
- Final exam 2019 - Solutions (File)