Except for the first class, the reading for a class should be done before class in order to get the most out of each class. Also, quizzes for class will be based on previously covered material and on material in assigned reading.
Test dates are unlikely to change. The topics and assigned reading will be adjusted during the semester.
| Date | Topic | Reading | Example | To Submit | |
|---|---|---|---|---|---|
|
|
|||||
| Jan. 13 | Overview, Design Discussion | Coffee Machine | |||
| Jan. 15 | Design Discussion Continued | Mercer Chapter 12 | Coffee Machine | ||
|
|
|||||
| Jan. 20 | Being a Good C++ Citizen | Martin | Expression Tree | crit.bowling | |
| Jan. 22 | Inheritance and design | Meyers
Items 11, 15, 17, 30, 57 |
Expression Tree | ||
|
|
|||||
| Jan. 25 | Operator Overloading | Meyers
Items 14, 23, 35, 69, 71 |
Pascal Array | ||
| Jan. 27 | Toward Generic Programming, STL | STL Tutorial | grep | ||
| Jan. 29 | Extending STL | Meyers Item 75 | hyperwag.design | ||
|
|
|||||
| Feb. 1 | Arithmetica Q&A | Meyers
Items 3, 5, 6, 51, 84 |
|||
| Feb. 3 | C++ Mechanics | arithmetica
quiz.web |
|||
| Feb. 5 | |||||
|
|
|||||
| Feb. 8 | Program Design | Riel Chapter 2 | payroll | ||
| Feb. 10 | Program Design Patterns | Riel Chapter 3 | hyperwag.proto | ||
| Feb. 12 | Program Refactoring | Riel Chapter 4 | |||
|
|
|||||
| Feb. 15 | C Pointers and Strings | Meyers
Items 2, 3, 5 |
string | hyperwag.final1 | |
| Feb. 17 | Profiling code for speed | Meyers
Items 66, 69 |
atoi | hyperwag.final2 | |
| Feb. 19 | Interfacing with the Unix Environment | Meyers
Items 51, 76, 77 |
readenv | hyperwag.eval
project artifact |
|
|
|
|||||
| Feb. 22 | Caching and Profiling | Meyers Item 84 | |||
| Feb. 24 | Objetcifying C code | ||||
| Feb. 26 | |||||
|
|
|||||
| Mar. 1 | First Exam | scoobi.scandir | |||
| Mar. 3 | C++ | ||||
| Mar. 5 | C++ | ||||
|
|
|||||
| Mar. 8 | SCOOBI studio | scoobi.sools | |||
| Mar. 10 | Putting It All Together: auto ptr | Meyers: Item 78 | scoobi.sync | ||
| Mar. 12 | C++ review | scoobi.final | |||
|
|
|||||
| Mar. 15-19 |
|
||||
|
|
|||||
| Mar. 22 | Learning a New Programming Language | ||||
| Mar. 24 | Java Nuts and Bolts | grep | |||
| Mar. 26 | Second Exam | ||||
|
|
|||||
| Mar. 29 | Event-Driven Programming | graphics | pig | ||
| Mar. 31 | Graphics | bounce | |||
| Apr. 2 | Threads and Animation | bounce2
multiBounce |
adventure plot | ||
|
|
|||||
| Apr. 5 | Adventure Design Discussion | ||||
| Apr. 7 | Interaction | scribble
util |
|||
| Apr. 9 | User Interfaces | ||||
|
|
|||||
| Apr. 12 | User Interface Patterns | pixmap | adventure.proto | ||
| Apr. 14 | Networking | chat | quiz.bounce | ||
| Apr. 16 | Clients and Servers | whiteboard | |||
|
|
|||||
| Apr. 19 | Adventure Interim reports | ||||
| Apr. 21 | Adventure Interim reports | alife.proto | |||
| Apr. 23 | Adventure Interim reports | quiz.pixmap | |||
|
|
|||||
| Apr. 26 | Design Patterns Review | ||||
| Apr. 28 | All Questions Answered | adventure.final | |||
|
|
|||||
| May 3 | Final Exam: 7pm-10 LSRC B101 | ||||