|Website:||website containing additional information|
|Credits:||6 ECTS (=4.2 old credit points)|
|Period:||periode 3 (week 2 t/m 9, dwz 6-1-2003 t/m 28-2-2003; herkansing week 19)|
|Participants:||up till now 17 subscriptions|
|Schedule:||Dit is een oud rooster!
|Contents:||Producing software means transforming a specification of the requirements into an implementation. Automating this process, i.e., generating an implementation from a specification, in ever new ways is the goal of software technology. In several areas this automatization has already been successful. Think of a compiler that translates `specifications' in a high-level programming language to implementations in machine code, or parser generators that generate a parser from a context-free grammar. More recently, program transformation techniques are used to implement compiler optimizations, refactoring tools, aspect weavers, and reverse engineering tools. In this course you learn to understand and apply program transformation techniques and study applications of program transformation such as data-flow optimizations, partial evaluation, refactoring, desugaring, and aspect weaving.|
|Literature:||Lecture notes on Strategies for Program Transformation. Chapters will be handed out during the lectures.|
|Course form:||There will be two lectures and two assisted lab sessions per week. Lab work will require more time than just those sessions.
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.
The lab work for the course is divided in two parts. In the first part you learn the basic techniques of program transformation with rewriting strategies (3 weeks). In the second part you apply these techniques in the construction of a partial evaluator for Tiger programs (4 weeks).
|Exam form:||The grade for the course is determined by the lab assignments (50%) and the final written exam (50%). By making the in-class exercises with a sufficient result (60% ok), one bonus grade point can be earned.|
|Minimum effort to qualify for 2nd chance exam:||Om aan de aanvullende toets te mogen meedoen is ontbreken van ten hoogte 1 toetsactiviteit toegestaan.|