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

Theory of Computing

Lectures Notes A.Y. 2008/2009

Prof. Diego Calvanese


Lectures

  1. Basic notions about relations, functions, formal languages [Part 1 (13 pages)]
  2. Turing Machines [Part 2 (25 pages)]
  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 (16 pages)]
  6. Polynomial hierarchy and PSPACE [Part 6 (21 pages)]
  7. Logarithmic space [Part 7 (12 pages)]
  8. Circuits and complexity of non-uniform problems [Part 8 (19 pages)] - Material derived from Chapter 14 of "Complexity Theory" by Ingo Wegener

Exercises

  1. Review of formal proof techniques [Exercise 1 (7 pages)]
  2. Exercises on Turing Machines [Exercise 2]
  3. Exercises on nondeterministic Turing Machines and extensions of Turing Machines [Exercise 3]
  4. Exercises on Turing Machines computing functions [Exercise 4]
  5. Exercises on recursive and recursively enumerable languages [Exercise 5]
  6. Exercises on primitive recursive functions [Exercise 6]
  7. Exercises in preparation of midterm exam [Exercise 7]
  8. Exercises on 3SAT and 2SAT [Exercise 8]
  9. Exercises on reductions to show NP-hardness [Exercise 9]
  10. Exercises on space complexity [Exercise 10]
  11. Exercises on boolean circuits [Exercise 11]

Back to course home page
Last modified: Friday, 16-Jan-2009 20:52:57 CET