| Website: | website containing additional information |
| Course code: | WISG |
| Credits: | 5.72 ECTS (=4 old credit points) |
| Period: | periode 1 (week 36 t/m 43, dwz 3-9-2001 t/m 26-10-2001; herkansing week 1)
|
| Participants: | up till now 14 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. 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
used in software generators and study applications of program
transformation such as partial evaluation, refactoring, desugaring,
and aspect weaving. |
| Literature: |
- Lecture notes on rewriting strategies (to be handed out in class)
- Reader with selected articles (to be handed out in class)
|
| Course form: | The first three weeks consist of lectures on implementation techniques
for program transformation systems using rewriting strategies. The
last four weeks consist of a seminar in which a number of applications
of program transformation will be discussed. You are expected to give
a (joint) presentation about one of the presentation topics. You will
get practical experience with the techniques from the lectures making
several lab assignments.
During the course you are expected to
- Give a presentation about one of the PresentationTopics
- Make and submit the LabAssignments
- Prepare for meetings by reading articles
- Participate actively in meetings
|
| Exam form: | Your grade will be determined based on
Presentation (40%)
LabAssignments (60%). |
| Minimum effort to qualify for 2nd chance exam: | Om aan de aanvullende toets te mogen meedoen is ontbreken van ten hoogte 1 toetsactiviteit toegestaan. |
| Description: | The following topics will be studied in the course:
- Program transformation with rewriting strategies
- Aspect-Oriented Programming
- Refactoring
- Deforestation
- Compilation by Transformation
- Partial Evaluation
- Decompilation
- Generic program transformation
|