Generative software development

Course title: Generative software development
ECTS-points: 2.5
Teaching period: whole week 5, 30/1 - 3/2 2006
Institute: Datalogisk Institut
Course coordinator: Jyrki Katajainen e-mail: jyrki@diku.dk, phone: 35 32 14 16
Other teachers:
Peter Sestoft, e-mail: sestoft@dina.kvl.dk
    He is professor at KVL and ITU Copenhagen, member of the Ecma International C# and CLI standardization committees, and author of the books C# Precisely and Java Precisely (MIT Press 2004 and 2005).
Robert Glück, e-mail: glueck@diku.dk
Torben Mogensen, e-mail: torbenm@diku.dk
Time and place:
Lectures: 9.15 - 12.00 at Lille UP1
Exercises 13.15 - 15.00 at Terminal rooms or Lille UP1 (Tuesday 12.30 - 14.00)
Course description:
The purpose of this course is to give a general introduction to generative techniques in software development so that the students can with confidence take part in other courses on related subjects (e.g. Scripting languages and domain-specific languages; Generic programming and library development). After a general introduction, the focus will be on generics in various programming languages. The course will provide several hands-on exercises ranging from simple examples to more extensive usage of generics.
Course overview:
The course takes five days, including 5 hours teaching per day. The content is as follows:
Monday [Jyrki]:
Generative software development
Tuesday [Peter]:
Generics in Java and C#
Wednesday [Jyrki]:
Generic programming techniques in C++
Thursday [Robert]:
Theoretical foundations
Friday [Torben]:
Generic programming and metaprogramming in functional languages
Recommended reading:
Krzysztof Czarnecki and Ulrich W. Eisenecker, Generative Programming---Methods, Tools, and Applications, Addison-Wesley (2000)
P. Sestoft and Henrik I. Hansen, C# Precisely, The MIT Press (2004)
P. Sestoft, Java Precisely, Second Edition, The MIT Press (2005)
David Vandevoorde and Nicolai M. Josuttis, C++ Templates: The Complete Guide, Addison-Wesley (2003)
Registration: Last call at the beginning of the first lecture
Prerequisites: Knowledge of Java, C++, and Standard ML
Exam form: Active participation and at least 25% of exercises/briefs to get the course credit
Course home page: http://www.diku.dk/~jyrki/Course/Generative-software-development/
Teaching language: English
Last modifications: 23/1 2006
First announcement: 12/10 2005