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%)