| Date | Topics | Reading | Due dates and quizzes |
|---|---|---|---|
| January 17 | About the course | ||
| January 22 | Object, classes, and UML | 0, 1 | |
| January 24 | Java basics | 2, 3, 5, 6 | |
| January 27 | Java basics, continued; inheritance and polymorphism in Java | 4.5 | |
| January 29 | Java basics, inheritance, and polymorphism, continued | Homework 1 (design) | |
| January 31 | Java basics, inheritance, and polymorphism, continued | Homework 1 (code) | |
| February 3 | Java basics, continued; string processing | 7 | |
| February 5 | String processing, continued; arrays | 8 | Quiz 1 |
| February 7 | Arrays, continued | ||
| February 10 | Sorting and searching arrays | ||
| February 12 | Discussion of homework project | Homework 2 (design) | |
| February 14 | Sorting and searching arrays, continued | Homework 2 (code) | |
| February 17 | No class | ||
| February 19 | Sorting and searching arrays, continued | ||
| February 21 | Array-based stacks and queues | Quiz 2 | |
| February 24 | Array-based stacks and queues, continued; linked lists | 16.1, 16.2 | |
| February 26 | Linked lists and iterators | Quiz 3 | |
| February 28 | Linked lists and iterators, continued | Homework 3 (design) | |
| March 3 | Linked lists and iterators, continued; GUIs in Java | 9 | Homework 3 (code) |
| March 5 | Midterm exam (Review) | ||
| March 7 | GUIs in Java, continued | ||
| March 17 | No class | ||
| March 19 | Stacks and queues using linked lists; priority queues | 16.3, 16.4 | Homework 4 (design, really due 3/20) |
| March 21 | GUIs in Java, continued | Homework 4 (code) | |
| March 24 | GUIs in Java, continued | ||
| March 26 | Exceptions in Java | 11 | Quiz 4 |
| March 28 | Graphics in Java | 10 | |
| March 31 | Graphics in Java, continued | Homework 5 (design) | |
| April 2 | Graphics in Java, continued | 12 | Homework 5 (code) |
| April 4 | Recursion | ||
| April 7 | Recursion, continued | ||
| April 9 | Recursion, continued; binary trees | Quiz 5 | |
| April 11 | Binary trees, continued | ||
| April 14 | Binary trees, continued | Homework 6 (design) | |
| April 16 | Heap-based priority queues | Homework 6 (code) | |
| April 21 | Threads | 13 | |
| April 23 | Files and streams | 14 | Quiz 6 |
| April 25 | Files and streams, continued | ||
| April 28 | Sockets and networking | 15 | Homework 7 (design) |
| April 30 | Sockets and networking, continued | Homework 7 (code) | |
| May 2 | Course wrap-up | ||
| May 7 (2pm) | Final exam (section 4, MWF 11:30am) (Review) | ||
| May 10 (2pm) | Final exam (section 3, MWF 10:30am) (Review) | ||
| May 12 (noon) | Homework 8 (design and code) |