Course Description
Fosa
The
EducationPage is the `official' web-page for this course and has schedule information. This page provides a longer description.
Contents
This is a new seminar involving many of the technologies developed within the Software Technology group.
It will take place in period 1 of 2006. Compared to EIFL, another seminar given in this period, this
seminar is more focused on the front end of the compiler, with special attention to generating front ends,
and how to keep the feedback from front-ends understandable.
Subjects include how to build combinator libraries, how to use the Helium compiler to improve
error messages for such libraries, and the Ruler toolkit developed by Atze Dijkstra.
Many of these toolkits have in common that they support the building of static analysis,
and specifically, type systems and inference algorithms into compiler.
Below we give some details for this course, which are subject to change, because
it depends somewhat on the number of participants.
Lecturers involved
Lecturers involved are
Jurriaan Hage,
Bastiaan Heeren and
Atze Dijkstra.
Prerequisites
You should have completed Implementation of Programming Languages and
Advanced Functional Programming. If you lack Advanced Functional
Programming and want to participate, contact
jur@cs.uu.nl.
Knowledge of Automatic Program Analysis
will be helpful, but the course APA is not a prerequisite.
Form
After a few introductory lectures by the lecturers involved in this course,
each student is required to do a presentation about a paper within the (broader) area
of feedback oriented static analysis. The second main task of the students
is to do a project together with another student.
For more details on the course schedule see the
CourseSchedule.
General course literature
links to papers that need to be read by the students, but that cannot be used by the students for their presentation
Papers for student presentations
As part of this seminar students shall do a presentation of a paper from the literature,
related in some way to the subject of this course. A full list of the available
papers will become available
here.
Student projects
Each student is supposed to do a project together with another student.
Such a project is practically motivated, but also includes
reading at least two papers on the subject and implementing some work.
The projects are all quite different. A list of them can be found
here.
Assessment
Your final mark for this course will consist of:
- Student Project (40%)
- Presentation Paper (30%)
- Feedback on Presentations (15%)
- Participation in Course (15%)