HS14: Foundations of Computing II


Lecturer: Prof. Dr. Renato Pajarola
Assistents: Matthias Thöny Rafael Ballester
Time: Lecture: Friday 08:30 - 12:00
Room: Binzmühlestrasse: BIN
Language: English
OLAT: Olat course link
Course Catalogue: Catalogue course link


The goal of the course is to familiarize the student with formal methods of computing and their value for computer science and related disciplines, and to provide basic training in applying formal methods to many different kinds of problems. Students should learn the fundamental limits of computation and extend their knowledge on formal languages as well as on formal programming models. Principles of interference, deduction, induction and contradiction should regularly be applied to demonstrate the formal correctness of models and limits.

The lecture is targeted to students within their BSc in computer science or similar. It is recommended for students in BSc Wirtschaftsinformatik from 3th semester and also students with NF.


The lecture is based on the following book:

Automoata Theory, Languages and Computation, 3rd Edition. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Addison Wesley.


Participation and sucessfully passing the exercises during the semester as well as passing the written final exam.


The exercise part will consist on two parts. First the submission of all assignments as well as participation on the two mandatory in-class exercises. The assignments can be done from home and will be distributed and submitted over OLAT. The two mandatory exercise sessions will take place at the lecture dates and will be announced on OLAT at the beginning of the semester. The mandatory exercises will consist of an short written test and will be evaluated. Passing the exercise part will be the requirement for participation on the final exam.

Final Exam

In order to be eligible for the final exam you need to pass the exercises. The lecture is finished when passing the written final exam. Place and date is published on the UZH course catalogue link and in OLAT.

Lecture material and content

The lecture material (slides, exercise..) will be available on the OLAT course website.

The course will cover topics such as, but not limited to, Turing Machines, Computability, Decidability and Complexity, P and NP, Proof methods, NP hardness, Finite Automata, Labeled Transition Systems, Formal languages and grammars.