| Date | Topic | Lecture Notes |
|---|---|---|
| 1/24 | Introduction: Objects and Classes | Lecture 1 |
| 1/29 | Data Types, Variables, Expressions, Assignment | Lecture 2 |
| 1/31 | Methods, Parameters and Signatures | Lecture 3 |
| 2/5 | Blocks, Conditional and Switch Statements | Lecture 4 |
| 2/7 | Looping Constructs | Lecture 5 |
| 2/12 | Arrays: Definition, Access, Traversal | Lecture 6 |
| 2/14 | Strings, Input & Output Streams | Lecture 7 |
| 2/19 | Reading from and Writing to Files | Lecture 8 |
| 2/21 | Class Declaration, Data Encapsulation, Visibility | Lecture 9 |
| 2/26 | Inheritance, Abstract Classes, Interfaces | Lecture 10 |
| 2/28 | Exceptions and the Run Time Stack | Lecture 11 |
| 3/5 | Mid Term Review: Resources | Review Notes |
| 3/7 | Mid Term Exam Solutions | None |
| 3/12 | Break | None |
| 3/14 | Break | None |
| 3/19 | Break | None |
| 3/21 | Break | None |
| 3/26 | Linked Lists | Lecture 12 |
| 3/28 | Generic Programming | Lecture 13 |
| 4/2 | Stacks | Lecture 14 |
| 4/4 | Queues | Lecture 15 |
| 4/9 | Binary Search Trees | Lecture 16 |
| 4/11 | Containers and Iterators | Lecture 17 |
| 4/16 | Sorting Algorithms | Lecture 18 |
| 4/18 | Computational Complexity | Lecture 19 |
| 4/23 | Threads and Synchronization | Lecture 20 |
| 4/25 | Event-Driven Programming: Applets | Lecture 21 |
| 4/30 | Graphs and Search Algorithms | Lecture 22 |
| 5/2 | Programming with Libraries | Lecture 23 |
| 5/7 | Review | None |
| TBA | Final Exam | Resources |