Compilers

spring 2026

Compilers, spring 2026 (5 cr)

This course will show you hands-on how to build a simple compiler from start to finish, and prepare you to work on compilers independently.

Enjoy!

Course structure

The course is graded entirely on a project where you create a complete compiler for a simple programming language. Your compiler is graded using automated tests combined with manual inspections. The project page has all the details.

Chapters 0-7 will guide you in completing the mandatory part of the project. The tasks in chapters 2-7 properly will help you build a compiler that passes the course. There are also some optional exercises to reinforce your understanding.

For grade 5, you also need to complete some extra tasks on the project page.

Chapter 8 is a bonus chapter that you may find interesting. It has no effect on your grade.

This course is light on theory and heavy on practical programming.
It’s a good idea to start the project without delay!

The project’s deadline is March 16, 23:59:59.

AI policy

🤖 It is not allowed to use ChatGPT, Copilot, Claude and similar AI systems for coding.

You can ask them theory questions, but don’t give them your code to debug or explain, and don’t take any code from them.

The reason is that AI tools would rob you of valuable practice in writing, debugging and understanding compilers, and code in general.

It’s true that AI is becoming quite good at building small systems at reasonable quality, especially in domains with lots of training data. That said, human understanding is still needed to guide AI and to ensure correctness and long-term quality. You can’t develop this understanding without practicing the fundamentals yourself.

I don’t know how fast things will change or what the future will be like, but it seems likely that deep human understanding will be useful and beneficial for quite a long time.

Workshops

There are workshop sessions on Tuesdays 18-20 and Fridays 12-14 in Exactum D123 until 27.2.

In workshops, you can work on the course project, ask questions, or just chat about compilers or software development in general, in English or in Finnish.

Participation at least once a week is recommended but optional.

While this website alone should have everything needed to successfully complete the project, Lecture videos from 2024 are available as supplemental material on the studies.helsinki.fi course page (for registered participants only). Slides from the intro lecture can be found here.

Contact

Getting started

Start here!