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.
Title  Descriptions  Faculty  Credits 

Algorithms and Data Structures
How to solve algorithmic problems efficiently? 
Judit Csima
Máté Vizer

4 credits  
Short descriptionThis introductory algorithms class covers the principles and techniques for efficient problemsolving 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 redblack trees. The course also introduces NPcompleteness and methods to handle NPcomplete 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
The mathematics behind computations 
Gyula Y. Katona
Balázs Patkós
Padmini Mukkamala

4 credits  
Short descriptionTopics of the course include finite automata, context free languages, with main focus on Turing machines. 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 for studying computation, independent of a specific situation, piece of hardware or programming language. It gives formal definitions for what an "algorithm" is, what a "problem" that an algorithm solves is and what it means for an algorithm to solve a problem "efficiently." Prerequisites: some experience with basic proof methods 

Data Science
Transforming data into knowledge using machine learning 
Roland Molontay

4 credits  
Short descriptionHarvard Business Review calls Data Scientist the 'sexiest job of the century.' In this course, students learn the basics of data science and machine learning including classification, regression and clustering algorithms. Lectures are supplemented by problemsolving sessions, Python programming exercises, and small team projects. Prerequisites: basics of linear algebra, basics of multivariate calculus, basics of probability, basics of Python programming 

Graph Theory 
Gábor Wiener
Tamás Fleiner

4 credits  
Short descriptionGraph theory have recently became an indispensable tool in studying various types of networks and other complex systems. This course offers a fast introduction to the basic concepts and some of the classical topics of graph theory as well as an opportunity to improve the students' problem solving skills. Prerequisites: basic mathematical maturity 

Combinatorial Optimization
An applicationsoriented theoretical math course made fun 
Dávid Szeszlér
Péter Pál Pach

4 credits  
Short descriptionHow to assign jobs to workers such that the total profit is maximized? How to transport goods across a network such that the total cost is minimized? These are just examples of the types of algorithmic problems, all coming from reallife applications, that will be dealt with in this course. Besides covering specific efficient algorithms for some of these problems, we will build up together, step by step, 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, proofbased math course, experiencing the joy of problem solving and having a highlevel, intellectual kind of fun are also among the major objectives. Prerequisites: Mathematical maturity, elementary concepts from linear algebra (matrix operations and their properties) 