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