Previous slide
Next slide
Toggle fullscreen
Open presenter view
Compilers
Welcome!
Why compilers?
Know your tools
Insight into programming and computer workings
Great software engineering practice
Occasional real-world use
Fun!
Course philosophy
Learning by doing
Less theory, more practice
End-to-end understanding
Project
Course project: make a compiler
The project fully determines your grade
The
course website
guides you in completing the project
Scoring by automated end-to-end tests
Complete
base language
(chapters 2-7) ⇒ up to grade 4
Add features
break & continue
and
functions
⇒ grade 5
AI policy
Don't
use AI for coding or debugging.
OK to use for
theory
questions, but
don't
take code examples from it.
Why?
Learning by doing is very powerful.
Having AI do it for you teaches nothing.
Without learning strong fundamentals,
you won't be able to guide AI wisely,
you won't be able to solve problems that AI can't handle.
I don't know how fast things will change or what the future will be like,
but it's probably good for humans to still understand how things work.
Resources
Course website
Lecture videos
from 2024
Workshops: Tuesdays 18-20 and Fridays 12-14 in room D123
Optional, pleasant environment to work on your project,
ask questions, and chat about compilers and software engineering.
Discord
/join compilers
on
https://study.cs.helsinki.fi/discord
Choose whatever works for you!
Teacher
Enjoying coding for > 20 years
Worked as a webdev, Google SRE, gamedev, now at Oura
Compilers at work: an optimizer, a linter, a config language
Compilers as a hobby: doodling, prototyping, teaching
Getting started
Visit the
course page
Join Discord
Project deadline is March 16. Start early!
Any questions?