### Free University of Bolzano/Bozen

Faculty of Computer Science

Master of Science in Computer Science

# Theory of Computing

# Lectures Notes A.Y. 2016/2017

### Lectures

- Basic notions about relations, functions, formal languages
[Part 1 (13 pages)]
- Turing Machines
[Part 2 (25 pages)]

*Note:* pages 1-6 of Part 2 are optional, and will not be covered
in the lectures
- Decidability and undecidability
[Part 3 (19 pages)]
- Recursive functions
[Part 4 (23 pages)] -
Material derived from Chapter 13 of
*Languages and Machines* by T.A. Sudkamp
- P, NP, and NP-completeness
[Part 5 (20 pages)]
- Polynomial hierarchy and PSPACE
[Part 6 (21 pages)]
- Logarithmic space
[Part 7 (12 pages)]
- 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.

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

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

course home page

*Last modified:
Thursday, 11-Jan-2018 10:34:31 CET
*