Free University of Bolzano/Bozen
Faculty of Computer Science
Master of Science in Computer Science

Theory of Computing

Lectures Notes A.Y. 2016/2017

Prof. Diego Calvanese


Lectures

  1. Basic notions about relations, functions, formal languages [Part 1 (13 pages)]
  2. Turing Machines [Part 2 (25 pages)]
    Note: pages 1-6 of Part 2 are optional, and will not be covered in the lectures
  3. Decidability and undecidability [Part 3 (19 pages)]
  4. Recursive functions [Part 4 (23 pages)] - Material derived from Chapter 13 of Languages and Machines by T.A. Sudkamp
  5. P, NP, and NP-completeness [Part 5 (20 pages)]
  6. Polynomial hierarchy and PSPACE [Part 6 (21 pages)]
  7. Logarithmic space [Part 7 (12 pages)]
  8. Tiling problems [Part 8 (7 pages)] - Material derived from: The Convenience of Tilings. Peter van Emde Boas. In Complexity, Logic, and Recursion Theory, volume 187 of Lecture Notes in Pure and Applied Mathematics, pages 331-363, 1997.

Exercises for home

  1. Home exercises on reductions between graph-related problems [Home exercise and solution]

Exercises

  1. Review of formal proof techniques [Exercise 1 (7 pages)]
  2. Exercises on deterministic Turing Machines [Exercise 2]
  3. Exercises on Turing Machines extensions and non-deterministic Turing Machines [Exercise 3]
  4. Exercises on reductions between problems [Exercise 4]
  5. Exercises on Turing Machines computing functions [Exercise 5]
  6. Exercises on primitive recursive functions [Exercise 6]
  7. Exercises in preparation of midterm exam [Exercise 7]
  8. Exercises on 3SAT and reductions [Exercise 8]
  9. Exercises on variations of satisfiability [Exercise 9]
  10. Exercises on NP-completeness [Exercise 10]
  11. Exercises in preparation of the final exam (Part 2) [Exercise 11]

Back to course home page
Last modified: Tuesday, 14-Nov-2017 21:21:33 CET