UG3 Compiling Techniques 2019/2020
Previous year course content: 2018-19 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 the MIPS 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.
Details about the coursework description will be released soon.
The coursework description is available here:
2019-20 Coursework instructions (on gitlab)
- Coursework Part 1: Thursday 10 October 2019, 11am
- Coursework Part 2: Thursday 24 October 2019, 11am
- Coursework Part 3: Thursday 14 November 2019, 11am
- Coursework Part 4: Monday 13 January 2020, 10am (no extension possible!)
Please note that for this course there is no possibility of submitting late without requesting an extension to the ITO beforehand. The mark will be determined by the version of your code present in your git repository (master branch) on the day/time of the deadline.
There will be a mandatory demonstration of your coursework taking place on Thursday 28 November 2019.
This module runs in Semester 1 and is taught by Christophe Dubach
and Hugh Leather
with the LLVM lectures taught by Aaron Smith
The first lecture is on Tuesday 17 Sep. 2019.
Please note that the Tuesday lecture is 2 hours long.
The schedule for the lectures
There is one lab session of 2 hours per week accompanying these lectures starting in week 1
The first lab will be on Thursday 19th Sep. 2019.
- Piazza: The primary source of help will be through the Piazza online platform.
Please enroll via this link.
All questions should be asked on Piazza first before emailing the lecturer or any of the tutors unless it is a private matter.
- Office hours: Wednesdays, 10am-11am, IF 1.12
If you are not able to attend, email Christophe to arrange for a meeting outside the office hours.
- Labs: Feel free to raise any questions regarding the lectures or coursework during the lab sessions.
- Lecture notes
- Course information
- Informatics policies
Christophe Dubach, firstname.lastname@example.org.