UG3 Compiling Techniques 2016/2017

Previous year course content: 2015/16 webpage


This is a courwork-only course with no exam. The coursework will consists of two assignments. The first one will be developing a compiler from scratch in Java, targeting a RISC instruction set architecture. The second assignment will be about implementing a compiler pass in an existing compiler infrastructure in C++ (LLVM).
Your mark will simply be a function of the number of test programs your compiler is able to compile correctly. Your coursework will be assessed daily via an automated testing framework allowing you to always know how you are progressing.

The coursework description can be accessed here: 2016-17 Coursework instructions (on bitbucket)



There will be a mandatory demonstration of your coursework taking place on Friday 18 November 2016.


This module runs in Semester 1 and is taught by Christophe Dubach with LLVM lectures taught by Aaron Smith. The first lecture will be on Tuesday 20th Sep. 2016. Please note that the Tuesday lecture is 2 hours long. The schedule for the lectures is: There is one lab session of 1.5 hours per week accompanying these lectures starting in week 1. The first lab will be on Friday 23rd Sep. 2016. You will be allocated to one of these two lab groups:

Getting help

Course information

Christophe Dubach,

Home : Teaching : Courses 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh