The world's very first graph theory course was offered at the Budapest University of Technology and Economics some 80 years ago. The lecturer was Professor Dénes Kőnig, author of the first book on graph theory; his students included Paul Erdős, Tibor Gallai, Paul Turán and other pioneers of the subject. Building on this strong tradition, AIT offers a number of courses in the foundations of computer science.

Computing Elective Courses

Humanities Courses

Back to the Curriculum Overview

Title Descriptions Faculty Credits
Algorithms and Data Structures
The design and analysis of efficient algorithms
Judit Csima
Máté Vizer
4 credits

Short description

This introductory algorithms course covers the principles and techniques for efficient problem-solving in computer science. Students will explore key algorithms for sorting, graph traversal, shortest paths, and minimum spanning trees, along with fundamental data structures like heaps and red-black trees. The course also introduces NP-completeness and methods to handle NP-complete problems. The goal is to teach students to distinguish between easy and difficult algorithmic problems and solve them efficiently. The course emphasizes algorithm design, correctness, and efficiency analysis, providing a strong foundation in both practical and theoretical algorithms and data structures.

Prerequisites: basic mathematical maturity, basic knowledge of programming

Theory of Computing
Models of computation and the limits of computation
Gyula Y. Katona
Balázs Patkós
Padmini Mukkamala
4 credits

Short description

Topics of the course include finite automata, context free languages, and a strong emphasis on Turing machines as a universal model of computation. The theory of computing enables us to prove that certain problems cannot be solved by any algorithm, and others, though solvable, cannot be solved efficiently. The course forms the mathematical foundation of computation, independent of hardware and software considerations. Starting with precise formal definitions of an “algorithm” and a computational “problem”, we prove fundamental results that form the basis of the field of computer science.

Prerequisites: some experience with basic proof methods

Data Science
Transforming data into knowledge using machine learning
Roland Molontay
4 credits

Short description

Data science is a rapidly growing discipline with wide applications to all sectors of society. In this course, students learn foundational concepts of data science and machine learning including topics such as classification, regression, and clustering. Lectures are supplemented by problem-solving sessions, programming exercises, and small team projects.

Prerequisites: basics of linear algebra, basics of multivariate calculus, basics of probability, basics of Python programming

Graph Theory
A discrete mathematical approach to the art and science of networks
Gábor Wiener
Tamás Fleiner
4 credits

Short description

Graph theory is an indispensable tool for studying many types of networks and other complex systems. This course begins with an introduction to basic concepts, explores classical topics in the field, and provides an opportunity for students to further develop their problem-solving skills.

Prerequisites: experience with mathematical problem-solving and proofs in any mathematical area.

Combinatorial Optimization
Applications of theoretical mathematics to real-life optimization problems
Dávid Szeszlér
Péter Pál Pach
4 credits

Short description

How can tasks be assigned to workers in order to maximize profit? How can goods be transported through a network at minimum cost? These are examples of the types of practical algorithmic problems that are addressed in this course. In addition to learning specific efficient algorithms for some of these problems, we interactively develop the foundations of a powerful framework called linear and integer programming, under which many of these problems can be handled. While all this will happen in a rigorous, proof-based mathematics course, the course also emphasize the intellectual joy of problem solving.

Prerequisites: Mathematical maturity, elementary concepts from linear algebra (matrix operations and their properties)