Generative software development
Kursusnavn:
Generative software development
ECTS-points:
2,5
Placering i blokstruktur:
vejledningsuge umiddelbart før undervisningsblok 3
Skemagruppe:
hele uge 5, 30/1 - 3/2 2006
Institut: Datalogisk
Institut
Kontaktperson: Jyrki Katajainen
e-mail: jyrki@diku.dk, tlf. 35 32 14 16
Andre undervisere:
Christopher Derek Curry, e-mail: cdcurry@gmail.com
Robert Glück, e-mail: glueck@di.ku.dk
Torben Mogensen, e-mail: torbenm@di.ku.dk
Skemaoplysninger:
Forelæsninger hver dag fra 9:15 til 12:00 i Lille UP1
Øvelser hver dag fra 13:15 til 15:00 i Lille UP1
Formål:
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. reading group on generative software development, domain specific
languages, and internals of the standard template library). The course
will provide several hands-on exercises for students in both Java
SE5.0 and C++ ranging from simple classes to more extensive usage of
generics.
Indhold:
The course takes five days, including 5 hours teaching per day. The content
is as follows:
- Monday:
- An introduction to generative software development. First
hands-on exercises in Java SE5.0 --- through trial-and-error
exploration.
- Tuesday:
- Generics in contemporary programming languages (Java, C#,
and C++). Generics from a business perspective ---
what is the value added in software development?
- Wednesday:
- Generic programming techniques in C++. Hands-on exercises
in C++: porting exercises made Monday.
- Thursday:
- Theoretical foundations: meta-programming, partial
evaluation, and multi-staged computation. Exercises on the theoretical
foundations.
- Friday:
- Generic programming and meta-programming in functional
languages. After some exercises in Haskell, a visit to leading
software development forum with focus on class Consume<T> where T may
be types Staropramen, Urquel and other foreign classes.
Lærebøger:
Krzysztof Czarnecki and Ulrich W. Eisenecker, Generative Programming --- Methods, Tools, and Applications,
Addison-Wesley (2000)
David Vandervoorde and Nicolai M. Josuttis, C++ Templates: The
Complete Guide, Addison-Wesley (2003)
Tilmelding/afmelding: via 2.-delsadministrationen
Faglige forudsætninger:
Kendskab til Java, C++ og Standard ML
Eksamensform:
For at få kursuskredit skal man lave mindst 25% af alle opgaverne
Eksamen:
Bestået eller ikke-bestået uden eksamen
Kursushjemmeside:
http://www.diku.dk/~jyrki/Course/Generative-software-development/; kursushjemmesiden administreres af Jyrki Katajainen
Bemærkninger:
Undervisningssprog: Engelsk
Sidst redigeret: 12/10-2005