# | 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) |