UG3 Compiling Techniques 2017/2018
Previous year course content:
2016-17 webpage
Assessment
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 is available here:
2017-18 Coursework instructions (on bitbucket)
Deadlines
- Coursework Part 1: Thursday 12 October 2017, 4pm
- Coursework Part 2: Thursday 26 October 2017, 4pm
- Coursework Part 3: Thursday 16 November 2017, 4pm
- Coursework Part 4: Monday 15 January 2018, 10am
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.
Demo
There will be a mandatory demonstration of your coursework taking place on Friday 17 November 2017.
Timetable
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 19 Sep. 2017.
Please note that the Tuesday lecture is 2 hours long.
The schedule for the
lectures is:
There is one lab session of 2 hours per week accompanying these lectures
starting in week 1.
The first lab will be on Friday 22nd Sep. 2017.
Getting help
- 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-12pm, 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.
Course information
- Lecture notes
- Coursework
-
2017-18 Coursework instructions (on bitbucket) TBC
- Course information
- Informatics policies
Christophe Dubach, christophe.dubach@ed.ac.uk.