Computability and Definability, 236331

Fall 2021-22

Last update: November 17, 2021
Previous update: November 3, 2021
Summary and link to slides of given lectures
Link to recordings of given lectures
Course homepage:
Last given: Winter Semester 2018-19
Lecturer: Prof. J.A. Makowsky (Taub 628, janos@cs, 4358)
Reception hour: By appointment via e-mail.
Tutorials: Prof. J.A. Makowsky
Lecture: Thursday, 9:30-11:30
Tutorial (Tirgul): Thursday, 11:30-12:30
Place: Taub 8. Face-to-face or ZOOM-meeting if required.
ZOOM-link: connect only during scheduled lecturing or tutorial time.
Announcements and lectures of 2021-22,
Previous announcements (also useful for NOW) :
Announcements and lectures of 2015-16,
Announcements and lectures of 2008,
Announcements and lectures of 2006,

General View

Definability deals with the expressive power of description languages which are used in program specification, databases and axiomatic mathematics. These languages include Regular Expressions, First Order Logic, Relational Algebra, Second Order Logic and various Temporal and Modal Logics.
Computability deals with computations and the resources needed to execute them in various models of computations. These include Finite Automata, Turing Machines, Register Machines, and the like.
The course deals with the interplay between definability in various descriptive languages and computability with various computing devices. It brings together theoretical aspects of Database Theory, Computability Theory, Complexity Theory and Logic.

Why should one take this course?

For the undergraduate and graduate students alike, the course lays the groundwork for a better understanding of the foundations of Computer Science. The course will also bring the student into a field of active research and we shall suggest several topics for further M.Sc. and Ph.D. work.

Prerequisites :

Due to the changes in the courses listed below, the old prerequisites are not enforced. However, some knowledge of basic logic and computability will be helpful. We assume familiarity with Turing machines.

Old prerequistes were: Logic and Sets for CS (234293) , Computability (236343);


2 hours and 1 hour exercices; project; 3 points;
Graduates and undergraduates.


Students are required to do some homework and a project, which consists in summarizing material of the course and additional articles and bring them into presentable form. The option of a take--home exam remains open.


Web master: