| Tue, Jan 20 | Introduction | slides |
| Thu, Jan 22 | Tour of the Basics | slides |
| Tue, Jan 27 | Functional Programming | slides |
| Thu, Jan 29 | Functional Programming (cont'd) | slides |
| Tue, Feb 03 | Functions | slides |
| Thu, Feb 05 | Ad Hoc Polymorphism | slides |
| Thu, Feb 10 | Inductive Datatypes | slides |
| Thu, Feb 12 | Inductive Datatypes (cont'd) | slides |
| Tue, Feb 17 | Interactive Programs | slides |
| Thu, Feb 19 | Syntactic Analysis | slides |
| Tue, Feb 24 | Guest Lecture | slides |
| Thu, Feb 26 | Functional Parsing and Lexing | slides |
| Tue, Mar 03 | Mid Term Exam | |
| Thu, Mar 05 | Programming with Java | slides |
| Tue, Mar 10 | Programming with Java (cont'd) | slides |
| Thu, Mar 12 | Programming with Java (cont'd) | slides |
| Tue, Mar 24 | The Java Virtual Machine | slides |
| Thu, Mar 28 | JVM Class Files | slides |
| Tue, Mar 31 | Class File Verification | slides |
| Thu, April 2 | Reflection | slides |
| Tue, April 7 | Java Generics | slides |
| Thu, April 9 | Java Generics (cont'd) | slides |
| Tue, Apr 14 | Review of Assignment 5 | slides |
| Thu, April 16 | Assign 5, Generics (cont'd) | slides |
| Tue, Apr 21 | Concurrency in Java (Part 1) | slides |
| Thu, April 23 | Concurrency in Java (Part 2) | slides |
| Tue, Apr 27 | Review of Assignments | slides |
| Thu, April 30 | TBA | slides |
| Tue, May 5 | Redefined day | slides |
| Thu, May 7 | Reading day | slides |
| Tue, May 12 | Final exam | slides |