Week |
Date |
Topic |
Reading |
Online Material |
HW |
1 |
8/28 |
Organization, Introduction |
|
What is generic programming? |
|
|
8/31 |
Generic algorithms and STL concepts |
LGP 1-1.4, 2-2.2.1 |
sort-example.cpp Makefile |
|
2 |
9/04 |
Holiday: NO CLASS |
|
|
|
|
9/07 |
Tools: C++ compilers, Emacs, Subversion |
NP 1 |
|
|
3 |
9/11 |
Generic containers and adaptors in the STL |
LGP 2.2.2-2.4 |
|
|
|
9/14 |
Designing fvector_int |
NP 2 |
|
|
4 |
9/18 |
Continuing fvector_int |
NP 3 |
|
|
|
9/21 |
Implementing swap |
NP 4 |
|
|
5 |
9/25 |
Types and type functions |
NP 5 |
|
|
|
9/28 |
Regular types and equality |
NP 6 |
|
|
6 |
10/02 |
Language design for generics |
LGP 3-3.3 |
|
HW 3 due 10/2 |
|
10/05 |
Concepts: organizing type requirements |
LGP 3.4-3.7 |
|
|
7 |
10/10 |
[Tues] Design of G, part 1 |
LGP 4-4.5 |
|
|
|
10/12 |
Design of G, part 2 |
LGP 4.6-4.10 |
|
|
8 |
10/16 |
Case study - STL in G |
LGP 6-6.1.8 |
|
HW 4 due 10/16 |
|
10/19 |
Review for exam; possible projects |
|
|
|
9 |
10/23 |
EXAM I |
|
|
|
|
10/26 |
Project requirements |
|
|
|
10 |
10/30 |
Locations & addresses; actions |
NP 11, NP 12 (first 6 pp.) |
|
|
|
11/02 |
Iterators |
NP 13 |
|
|
11 |
11/06 |
Permutation algorithms |
NP 17 |
|
|
|
11/09 |
Reverse |
NP 18 |
|
|
12 |
11/13 |
Rotate |
NP 19 |
|
|
|
11/16 |
Partition |
NP 20 |
|
|
13 |
11/20 |
Stable partition |
NP 23; OOPSLA paper, 1-3.1 |
|
EPA Correctness |
|
11/23 |
Holiday: NO CLASS |
|
|
|
14 |
11/27 |
Performance testing |
OOPSLA paper, 3.2-3.4.2 |
Class for timing generic algorithms |
|
|
11/30 |
Project issues |
OOPSLA paper, 5 |
Joint project report draft: EPA-Project.tex |
EPA Performance |
15 |
12/04 |
Project report issues |
|
|
Penultimate draft of EPA code and report |
|
12/07 |
EPA Project conclusions and future directions |
|
|
Final draft of joint EPA code and report |