Master Course
Program Transformation


WebHome
- Education Page
- Description
- Schedule
- Assignments

Center
Master Program

Course Schedule

Pt02
The course will be thaught in January and February of 2003.

This is the planned schedule for the course. Adjustments might be made along the way so check this page regularly.

Participants are expected to attend all lectures. Chapters from the lecture notes Strategies for Program Transformation will be handed out during the lectures. The number of copies will be based on the number of students registered for the course. Part of the lecture will be dedicated to making exercises, which should be handed in at the end of the lecture. A good job on these exercises will result in a bonus point for your grade.

Week 2

Lecture 1 (6/1/2003)

  • Introduction
  • Program Representation

Lecture 2 (10/1/2003)

  • Term Rewriting

Lab

  • Syntax definition and term rewriting

Week 3

Lecture 3 (13/1/2003)

  • Program Transformation with Concrete Object Syntax

Lecture 4 (17/1/2003)

  • In Control of Rewriting
  • Composing Strategies

Lab

  • Rewriting with concrete syntax

Week 4

Lecture 5 (20/1/2003)

  • First-Class Pattern Matching

Lecture 6 (24/1/2003)

  • Generic Traversal Strategies

Lab

  • Understanding strategies

Week 5

Lecture 7 (27/1/2003)

  • Scoped Dynamic Rewrite Rules

Lecture 8 (31/1/2003)

  • Constant Propagation (1)

Lab

  • Writing a profiler for Tiger

Week 6

Lecture 9 (3/2/2003)

  • Constant Propagation (2)
  • Partial evaluation

Lecture 10 (7/2/2003)

  • Simplification of Functional Programs

Lab

  • Develop a partial evaluator for Tiger

Week 7

Lecture 11 (10/2/2003)

  • Application Generation (Jonne van Wijngaarden)

Lecture 12 (14/2/2003)

  • No lecture: thesis defense of Joost Visser

Lab

  • Develop a partial evaluator for Tiger

Week 8

Lecture 13 (17/2/2003)

  • XML Transformation (Martin Bravenboer)

Lecture 14 (21/2/2003)

  • No lecture

Lab

  • Develop a partial evaluator for Tiger

Week 9

  • Exam: 28/2/2003 12:00--15:00