Previous Up Next

Topics



This schedule is subject to change---check here frequently for updates.

The reading assignment for each date should be done before class on that date.

LGP = A Language for Generic Programming, NP = Notes on Programming

 
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
ADL-example.cpp, count-example.cpp,
iterator-traits-definition.cpp,
iterator-example.cpp,
min-example.cpp
 
  9/14 Designing fvector_int NP 2
fvector.h, fvector_unittest.cpp,
fvector_memorytest.cpp,
SmfTester.h
HW 1 due 9/14
Feedback
4 9/18 Continuing fvector_int NP 3
fvector.h, fvector_unittest.cpp,
timer.h
 
  9/21 Implementing swap NP 4
fvector.h,
fvector_time-less-than.cpp,
../c++ (GNU C++ 3.4.4 standard lib)
HW 2 due 9/21
Feedback
5 9/25 Types and type functions NP 5
fvector.h, fvector_unittest.cpp
 
  9/28 Regular types and equality NP 6
fvector.h, fvector_unittest.cpp
memory-utilization.h,
memory-utilization_unittest.cpp
 
6 10/02 Language design for generics LGP 3-3.3
subtype-poly.cpp,
parametric-poly.cpp,
subtype-poly-sequence-example.cpp,
Allocator Reference Guide,
countalloc.h,
alloc-count-vector.cpp,
alloc-count-deque.cpp,
alloc-count-list.cpp,
alloc-count-vector-list.cpp
alloc-count-set.cpp
HW 3 due 10/2
  10/05 Concepts: organizing type requirements LGP 3.4-3.7
LGP-3.3.cpp, LGP-3.4.1.java,
LGP-3.4.2.java
 
7 10/10 [Tues] Design of G, part 1 LGP 4-4.5
G test files
 
  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  
Project outline
11 11/06 Permutation algorithms NP 17
Algorithm Concepts
do_cycle algorithm animation
 
  11/09 Reverse NP 18  
EPA Project Desc.
12 11/13 Rotate NP 19
OOPSLA paper on extending C++ with concepts
 
  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


Previous Up Next