Theoretical computer science is a branch of computer science that focuses on the mathematical and logical aspects of computing. Its main goal is to understand the fundamental principles that underlie the design and analysis of computer algorithms and systems. This involves developing rigorous mathematical models and frameworks that can be used to analyze the efficiency and correctness of algorithms, as well as the limitations of computational power.
Logic can be called the “calculus” of computer science just like calculus is a basic language of natural sciences. It is one of the key areas within theoretical computer science as it provides a precise language for expressing computational problems and their solutions, and for reasoning about their properties.
This track provides a thorough introduction in theoretical computer science and logic (building upon what you learnt in the bachelor program) and leads you to the forefront of research in several active areas. We will study issues of complexity and proof theory as well as logics for reasoning about knowledge and time, as they are being used in connection with verification problems in distributed environments. In addition, on the more applied side, we consider question of data privacy and cryptography as well as knowledge representation and graph theory.