For the readings given below, please do the readings before class. Occassionally there will be quizzes pertaining to the readings that must be finished (online) before class or (written) at the beginning of class. The quizzes will be about superficial, basic understanding, not indepth comprehension.
Readings in Head First Design Patterns are labeled HFDP, readings in The Pragmatic Programmer are labeled PP.
Monday | Wednesday | Friday |
---|---|---|
8/29 Introduction to the course | 8/31 Overview, Java Review
notes for viewing refactored nanoGoogle code from today Reading: HFDP, Chapter 1 (intro/Strategy) | 9/2 Coupling, Cohesion, java.io.* java.util.* notes for viewing notes for printing
Reading: HFDP, Chapter 2 (Observer) |
9/5 Reading from files, websites, archives, java.net.* Mastery 1, code due
Reading: HFDP, Chapter 3 (Decorator) | 9/7 Java Exceptions, runtime and checked | 9/9 Catch up, Code Review Nanoogle Part 2 out. |
9/12 Toward GUI programming: events and widgets Reading: HFDP, Chapter 4 (Factory) | 9/14 Nanogoogle Part 2 discussion
| 9/16 Benchmark code continued.
|
9/19 java.awt.* and javax.swing.*, inner classes From Menus to MVC, building programs and GUIs
Reading: HFDP, Chapter 6 (Command)
ExplorerTools out
| 9/21 Toward MVC
Tell, Don't Ask I
notes for viewing
| 9/23 Threads, swing workers, timers and tasks |
9/26 MVC: Model View Controller
Reading: HFDP, Chapter 11 (Proxy) | 9/28 Catch up, Code Review | 9/30 Exam I, takehome test handouts |
10/3 Guest Lecture, Ben Pollack | 10/5 Guest Lecture, Drew Todd | 10/7 Patterns in the Java API
Reading: HFDP, Chapter 8 (Template)
|
10/10 Fall Break | 10/12 Begin C++ Anatomy of a C++ program and a C++ class | 10/14 C++, Arrays, Pointers, Performance, Java comparison
notes for viewing |
10/17 Compiling, makefiles, Code Review Understanding C++, headers, libraries <iostream>, <string>, <vector>, <map>, | 10/19 More C++, also Freecell Design Questions | 10/21 C++ Templates, Java Generics, Inheritance compared Catch up, Code Review C++ Cards/Decks... |
10/24 From C++ to C, DIY programming | 10/26 Understanding C and paradigms | 10/28 Catch up, Code Review |
10/31 From constructors to char *** and back again.
| 11/2 new, delete, malloc, free Managing memory | 11/4 Exam II C++ projects done |
11/7 How teams work
notes for viewing puzzle code and questions Begin Final Project | 11/9 Technologies: from XML to Big-endian | 11/11 Catch up, Code Review
|
11/14 Technologies: from http to sockets
notes for viewing
| 11/16 More network game: refactoring | 11/18 Open source, alternatives opensource.org, Apache, GPL, MIT, Eclipse licenses. |
11/21 notes for viewing notes for printing Testing | 11/23 Thanksgiving | 11/25 Thanksgiving |
11/28 XML, Projects | 11/30 XLST and XML | 12/2 AI in game playing |
12/5 Work on Projects.
| 12/7 108 summarized
notes for viewing
| 12/9 Review, all questions answered last day of class |
Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|
12/12 Release 1.0 Party, 7:00-10:00 pm Final Exam 7:00-10:00 pm | 12/13 | 12/14 | 12/15 | 12/16 |