Kaisa_2012_3_photo by Veikko Somerpuro

Code Generation

Tutor: Ilmo Salmenperä. Use t.me/hkicompilers2020 for info.

The course is recommended to be taken after the Compilers course. All the course materials and exercises are in English. The lectures are spoken in Finnish. Preliminary course outline:
Overview and arrangements
Semantic processing and transformations
Code transformations and improvement
Generating high-level/low-level target code
Introduction to run-time support systems and virtual machines



Ilmo Salmenperä

Published, 13.5.2020 at 22:22

Hi all!

The deadline of the course has been extended to 24.5. 23:00 as many people have already asked for extensions due to the current situation. Hopefully this will help!



Lectures start on Wed 11.03.2020 14-16 (Exactum, D122), and
exercise sessions start on Thu 19.03.2020 12 - 14 (Exactum, B222).

Lectures are spoken in Finnish. The exercise groups use English as the working language. Exercise solutions are independently prepared as home work, and then presented and discussed in exercise meetings. Marking an exercise as done means that you are prepared to show and present your solution. Written solutions are not necessarily provided.
So you need to make your own notes on exercise materials for your personal use.
Solved (and marked) exercises give exam points (max 6).

The course has no examination. An obligatory programming project is tutored
in the exercise sessions, and must be delivered at the due date and time.

You need to have a user name and a password to access the intranet of the CS department.
If you are an exchange or a minoring student, please e-mail your need to tktl-luvat@cs.helsinki.fi.
Give your ad-hy user name. Don't send your password! You will receive instructions by e-mail.


Here is the course’s teaching schedule. Check the description for possible other schedules.

Wed 11.3.2020
14:15 - 16:00
Fri 13.3.2020
12:15 - 14:00
Wed 18.3.2020
14:15 - 16:00
Fri 20.3.2020
12:15 - 14:00
Wed 25.3.2020
14:15 - 16:00
Fri 27.3.2020
12:15 - 14:00
Wed 1.4.2020
14:15 - 16:00
Fri 3.4.2020
12:15 - 14:00
Wed 8.4.2020
14:15 - 16:00
Fri 17.4.2020
12:15 - 14:00
Wed 22.4.2020
14:15 - 16:00
Fri 24.4.2020
12:15 - 14:00
Wed 29.4.2020
14:15 - 16:00

Other teaching

19.03. - 02.04.2020 Thu 12.15-14.00
16.04. - 30.04.2020 Thu 12.15-14.00
Ilmo Salmenperä
Teaching language: English


March 19

March 26

April 02


The course CSM14204 Compilers

The course Computer Organization I

The structure and implementation of a compiler back-end: code generation for a (virtual) machine

Every other spring, period IV

The structure and phases of the back-end of a compiler; using intermediate representations, virtual machines

Course text book

Scott M.L., Programming Language Pragmatics (3rd/4th Ed.). Elsevier, 2009/2015

Lectures, exercises, an obligatory project, no exam

Grading scale: 1..5 based on lecture attendance, exercise group activity, and a project

Lectures, exercises, and a project

Lecture attendance and exercise session activity affect course completion and grade

Juha Vihavainen