About this course
This is an introductory class on compiler construction for bachelor students in computer science. The goal of the class is to introduce basic principles of compilers for students to understand the design and implementation of programming languages. Seeing and actually understanding self-compilation is the overarching theme of the class.
Learning outcomes
After taking the class, students are able to understand the difference between syntax and semantics of a programming language, how syntax is specified and efficiently checked, how semantics is efficiently implemented through code generation, and finally how a compiler that compiles itself is bootstrapped.
Course requirements
Basic programming skills.
Resources
- https://github.com/cksystemsteaching/selfie
- https://github.com/ckirsch/book
Activities
programming languages, compilers, operating systems, RISC processors
Additional information
- Coordinating facultyCzech Technical University in Prague
- Contact a coordinator
- LevelBachelor
- Contact hours per week12
- Instructorsprof. Kirsch Christoph
- Mode of deliveryHybrid
Starting dates
16 Feb 2026
ends 20 Sept 2026
Language English Term * Summer 2025/2026 Enrolment period closed
