| # | Date | Topic | Reading | Lab Due |
| 1 | Wed 7 Jan |
Introduction |
ch2 |
|
| 2 | Fri 9 Jan |
Getting Started with C++ |
ch2 |
|
| 3 | Mon 12 Jan |
Basic C syntax and operators |
ch3 |
|
| 4 | Wed 14 Jan |
UML and design patterns, Classes vs. Modules |
ch1 |
Lab0: HelloWorld (MSVC orientation) |
| 5 | Fri 16 Jan |
Declaring classes, visibility/access
(Quiz1) |
ch5 |
|
| 6 | Mon 19 Jan |
Object-oriented design strategies |
ch1 |
|
| 7 | Wed 21 Jan |
File I/O and Vectors |
ch2 |
Lab 1: Twelve Days |
| 8 | Fri 23 Jan |
Storage modifiers: extern, static, etc. |
ch3 |
|
| 9 | Mon 26 Jan |
Creating classes in C++: Stack example |
ch4,
ch5,
ch6 |
|
| 10 | Wed 28 Jan |
Inheritance and polymorphism |
ch14,
ch7 |
|
| 11 | Fri 30 Jan |
Polymorphism, virtual |
ch15,
ch11,
ch12 |
Lab 2: File I/O |
| 12 | Mon 2 Feb |
static and namespaces |
ch10 |
|
| 13 | Wed 4 Feb |
C++ <string> (Quiz 2) |
vol2 ch3 |
|
| 14 | Fri 6 Feb |
Exceptions |
ch8,
vol2 ch1 |
|
| 15 | Mon 9 Feb |
Graphical user interfaces |
(FLTK homepage) |
|
| 16 | Wed 11 Feb |
FLTK and Fluid |
(FLTK docs) |
|
| 17 | Fri 13 Feb |
Interfaces vs. abstract superclasses (Quiz 3) |
|
Lab 3: Class w/operators |
| 18 | Mon 16 Feb |
Review |
|
|
| 19 | Wed 18 Feb |
Midterm: up to lecture 17 |
| 20 | Fri 20 Feb |
2D Drawing in FLTK |
FLTK doc ch5 |
|
| | Mon 23 Feb |
(Spring reading break) |
| | Wed 25 Feb |
(Spring reading break) |
| | Fri 27 Feb |
(Spring reading break) |
| 21 | Mon 2 Mar |
2D Drawing in FLTK, cont. |
FLTK doc ch5 |
|
| 22 | Wed 4 Mar |
Recursion: Towers of Hanoi, Gray Codes, Fractals |
|
Lab 4: FLTK |
| 23 | Fri 6 Mar |
Drawing Iterated Function Systems in FLTK (Quiz4) |
FractalTree example,
FLTK doc ch6 |
|
| 24 | Mon 9 Mar |
Generic Programming: C++ Templates |
ch16 |
|
| 25 | Wed 11 Mar |
An OO Design Exercise
(plus promo of game devel by Kevin Schut) |
|
|
| 26 | Fri 13 Mar |
An OO Design Exercise: Use-Cases, UI Design, Components
| |
|
| 27 | Mon 16 Mar |
BSD Sockets: TCP server |
U Illinois notes (PDF),
UWO notes,
Winsock primer |
|
| 28 | Wed 18 Mar |
Networking: OSI levels, IP, NAT, IPv6 |
|
Lab 5: fractals/photoshop |
| 29 | Fri 20 Mar |
Networking: DNS, ports, byte order |
|
|
| 30 | Mon 23 Mar |
Quiz 5 |
|
|
| 31 | Wed 25 Mar |
Intro to POSIX Threads |
LLNL tutorial,
Maui HPCC training,
YoLinux tutorial,
C++ text vol2 ch11 |
|
| 32 | Fri 27 Mar |
Unit Testing: Making Sure Your Program Works |
UMD CMSC433,
C++ text vol2 ch2 (assertions) |
|
| 33 | Mon 30 Mar |
Design Patterns: Overview and Creational |
"Gang of Four" book,
Vince Huston,
web summary at DO Factory |
|
| 34 | Wed 1 Apr |
Review and Quiz 6 |
|
|
| 35 | Fri 3 Apr |
Design Patterns: Structural and Behavioural |
|
|
| 36 | Mon 6 Apr |
Lab 6 presentation/demos (meet in senior lab) |
| 37 | Wed 8 Apr |
Semester Review |
|
Lab 6: client/server |
| Sat 18 Apr |
Final Exam (9-11am) |