| Aug 30 |
Lecture 1: Introduction, Primitive Java, 1.1–1.6 |
| Sep 1 |
Lecture 2: Objects/References, Constructors, 2.1–2.3, 3.1–3.9 |
| Sep 6 |
Lecture 3: JUnit, Arrays, 2.4 |
| Sep 8 |
Lecture 4: File I/O, Exceptions, 2.5–2.6 |
| Sep 13 |
Lecture 5: Exceptions, 2.5 |
| Sep 15 |
Lecture 6: GUIs |
| Sep 20 |
Lecture 7: Inheritance, 4.1–4.2 |
| Sep 22 |
Lecture 8: ArrayList, Inheritance (continued), 4.3–4.4 |
| Sep 27 |
Exam 1 |
| Sep 29 |
Lecture 9: Type casts, instanceof, Object class, Interfaces |
| Oct 4 |
Lecture 10: Generic methods and classes, 4.5-4.7 |
| Oct 6 |
Lecture 11: Generic methods, functors, 4.8 |
| Oct 11 |
Lecture 12: Analysis of Algorithms, 5.1-5.3 |
| Oct 13 |
Lecture 13: Big-O, 5.4-5.8 |
| Oct 18 |
Lecture 14: Collections, Iterators, 6.1-6.3 |
| Oct 20 |
Lecture 15: Generic Algorithms, 6.4 |
| Oct 25 |
Lecture 16: Lists, 6.5 |
| Oct 27 |
Exam 2 |
| Nov 1 |
Lecture 17: Parallel Programming with Threads |
| Nov 3 |
Lecture 18: Stacks and Queues, 6.6 |
| Nov 8 |
Lecture 19: Sets and Maps, 6.7-6.8 |
| Nov 10 |
Lecture 20: Recursion, 7.1, 7.3 |
| Nov 15 |
Lecture 21: Proof by Induction, 7.2 |
| Nov 17 |
Lecture 22: Memoization and Dynamic Programming, 7.6 |
| Nov 22 |
Thanksgiving vacation, no class |
| Nov 24 |
Thanksgiving vacation, no class |
| Nov 29 |
Lecture 23: Merge and Quick Sort, 8.5-8.6 |
| Dec 1 |
Exam 3 |
| Dec 6 |
Lecture 24: Relational Databases and SQL |
| Dec 8 |
Lecture 25: Database Applications and JDBC |