Generic Programming and Library Development

Quarter 4, 2007

   Assignments
   Course evaluation
   Course home page
>Course plan
   Essays on tools
   ISIS home page
   Mini-project
   Slides


The CPH STL
The CPH STL project
September 2000

The Open Tissue
The OpenTissue project
November 2003

Course plan

Teacher(s) Date Topic Description
KH April 24 The Basics
  • Chapters 2,3,4,5 and 7 in [Vandevoorde and Josuttis]
  • Assignment 1: Templates
JK, KH, KE April 27 Presentations and Discussions
  • Assignment 2: Tools

Presentations: Compilers and programming environments

  • .NET 2005
  • GCC
  • Intel C++ Compiler
  • KDevelop
KE May 8 Advanced Programming 1
  • Chapters 14,15,16 in [Vandevoorde and Josuttis]
KH, KE May 11 Presentations and Discussions
  • Assignment 3: Polymorphism

Presentations: Tools

  • STLfilt
  • Bugtracking: Bugzilla
  • GNU Autoconf, Automake and libtool
  • GDB
KH May 15 Advanced Programming 2
  • Chapters 17,18 in [Vandevoorde and Josuttis]
JK, KH, KE May 18 Presentations and Discussions
  • Assignment 4: Metaprogramming

Presentations: Code reviewing

  • Code inspection
  • Code walkthroughs
  • Code Reading

Presentations: Documenting the source

  • Doxygen
  • doc++
JK May 22 Introduction to the STL
  • Container concepts
  • Iterator validity
  • Allocators
  • Exception safety

What does standard compliant mean?

  • Mini-project: Component to the CPH STL
  • Chapter 23 in [British Standards Institute]
  • Appendix E in [Stroustrup]
JK, KH, KE May 25 Presentations and Discussions Presentations: Version management
  • CVS
  • SVN
  • Visual SourceSafe 2005

Presentations: Licences

  • GNU GPL
  • GNU LGPL
  • OpenBSD
  • ZLIB
KH May 29 Function Objects
  • Chapter 22 in [Vandevoorde and Josuttis]
JK, KH, KE June 1 Presentations and Discussions
  • Assignment 5: Review

Presentations: Profiling tools

  • AQtime
  • Valgrind
  • Benz (look at the CPH STL website under tools)
KE June 8 Smart Pointers
  • Chapter 20 in [Vandevoorde and Josuttis]
JK, KH, KE June 12 Presentations and Discussions Presentations: Library case studies
  • Boost (shared_ptr)
  • Boost (bind/function)
  • Boost (enable_if/type_traits)
  • The Matrix Template Library
  • The Image Template Library
  • CPH STL
  • OpenTissue
JK June 15
  • Constrained polymorphism
  • ConceptsC++, D
  • Course evaluation
  • G.D. Reis and B. Stroustrup, Specifying C++ concepts.
  • D. Gregor et al., Concepts for C++0x
June 19 Deadline: Hand in mini-project report
JK, KH, KE June 26 Oral examination from 9.00 to 17.00
JK, KH, KE June 29 Oral examination from 9.00 to 12.00
This page was last modified by Jyrki Katajainen on 20.04.2008.