The projects will give you an idea of what will be assigned. Each
project consists of implementing a small routine in a library, an algorithm,
or a mini-application. I will supply the frame and some test cases. All you
do is implement the routine within the specifications I give you. Your grade
will depend on correctness, speed, and style of implementation, as well as
the documentation of your design.
| Date | Topic | Homework presentation | Homework due |
| Jan 22nd 2003 | Introduction, classical algorithms libraries C++ (classes, member functions, derivation) |
Small C++ programs | None |
| Jan 29th | Advanced C++ (typename, explicit keywords, templates) C++ Standard Template Library (design, general) |
Small C++ programs with template | None |
| Feb 5th | C++ STL (iterators, generic algorithms) Concept checking |
C++ STL extensions | Small C++ programs |
| Feb 12th | No class (make-up class later) | None | None |
| Feb 19th | Policy-based design |
TBA (for instance, a template database library) | C++ STL Extensions |
| Feb 26th | Design Patterns Applications of Design Patterns |
None |
None |
| March 5th | Overview C++ Metaprogramming techniques Generalized Functors |
TBA |
TBA |
| March 12th | Object Allocation Smart pointers |
||
| March 19th | SPRING BREAK --- No classes | ||
| March 26th | Geometric algorithms Overview CGAL library A small generic geometric kernel |
TBA |
|
| April 2nd | Case study: the Boost.interval library More Boost.numeric types libraries |
||
| April 9th | Case study: the Boost Graph library More combinatorial algorithms libraries |
First draft final projects | |
| April 16th | Case studies: TBA |
||
| April 23rd | Project presentations (15 mins per person) | None | Final projects will be due to the instructor no later than May ! |
| April 30th |
Make-up class for Feb 12th More project presentations Final project discussions, brainstorming |