Course: Generic programming and library development
ISIS home page: [html]
Course evaluation: [html]
Teaching period:
Quarter 4, 24/4-30/6 2006
Meeting hours:
- Tuesday 9-11, Aud. 6 at HCØ
- Friday 9-11, Aud. 6 at HCØ
- First lecture: 25 April 2006
Course team:
Course description:
The purpose of this course is to provide a deep understanding of the
C++ programming language and its standard library. Advanced
programming techniques such as static polymorphism, policy classes,
metaprogramming, and expression templates are described, and it is
shown how these techniques are used in modern library development. The
library examples come from the OpenTissue [www.opentissue.org] and CPH
STL [www.cphstl.dk]
projects, which both are DIKU initiatives.
Resources:
* Slides
- Jyrki: 25.4.2006
[ps]
[pdf];
28.4.2006
[pdf]
23.5.2006
[ps]
[pdf]
26.5.2006
[ps]
[pdf]
6.6.2006
[ps]
[pdf]
13.6.2006
[ps]
[pdf]
16.6.2006
[ps]
[pdf]
- Kenny: 5.5.2006
[pdf]
16.5.2006
[pdf]
30.5.2006
[pdf]
- Knud:
25.4.2006
[ps]
9.5.2006
[ps]
16.5.2006
[ps]
- Sune & Dirk:
26.5.2006
[pdf]
-
Christian & Kasper: 2.6.2006
[pdf]
-
Martin, Mads & Kim: 2.6.2006
[pdf]
-
Kasper & Konstantin 2.6.2006
[pdf]
* Books
-
David Vandevoorde and Nicolai M. Josuttis, C++ Templates: The Complete
Guide, Addison-Wesley (2003)
-
Björn Karlsson, Beyond the C++ Standard Library: An Introduction to
Boost, Addison-Wesley (2005)
* Articles
-
R. Garcia, J. Järvi, A. Lumsdaine, J. Siek, J. Willcock,
A comparative study of language support for generic programming
[Search via portal.acm.org]
-
Gianni Franceschini and Jyrki Katajainen: Generic algorithm for 0-1
sorting, CPH STL report 2006-5, Web document (2006)
[pdf]
-
David R. Musser and Gor V. Nishanov, A fast generic sequence matching
algorithm,
Web document (2001)
[pdf]
-
G.D. Reis and B. Stroustrup,
Specifying C++ concepts
[Bjarne's home page]
-
J. Siek and A. Lumsdaine, Language requirements for large-scale
generic libraries
[Proc. of GPCE'05]
* Course data
-
Course description [SIS]
-
First announcement [html]
-
The Image Group
[home
page]
-
Performance Engineering Laboratory
[home
page]
Last modification:
28/4 2006