| Tue, Jan 15 | Introduction | slides |
| Thu, Jan 17 | Tour of the Basics | slides |
| Tue, Jan 22 | Functional Programming | slides |
| Thu, Jan 24 | Programming in Haskell | slides |
| Tue, Jan 29 | Programming in Haskell (cont'd) | slides |
| Thu, Jan 31 | Guest lecture by Dr. Stroustrup | slides |
| Tue, Feb 5 | Program Representation | slides |
| Thu, Feb 7 | More on Type Definitions | slides |
| Tue, Feb 12 | Modules | slides |
| Thu, Feb 14 | Interactive Programs | slides |
| Tue, Feb 19 | Syntactic Analysis | slides |
| Thu, Feb 21 | Functional Lexing and Parsing | slides |
| Tue, Feb 26 | First Exam | |
| Thu, Feb 28 | Type Checking | slides |
| Tue, Mar 4 | Report on First Exam | |
| Thu, Mar 6 | Programming with Java | slides |
| Tue, Mar 11 | Spring Break | |
| Thu, Mar 13 | Spring Break | |
| Tue, Mar 18 | The Java Virtual Machine | slides |
| Thu, Mar 20 | JVM Class Files | slides |
| Tue, Mar 25 | Class File Verification | slides |
| Thu, Mar 27 | Class File Verification: Supporting OO | slides |
| Tue, Apr 1 | Reflection | slides |
| Thu, Apr 3 | Java Generics | slides |
| Tue, Apr 8 | Handling Java Class (in practice) | file |
| Thu, Apr 10 | Report on Assignment 4 | |
| Tue, Apr 15 | Java Inner Classes and Lambdas | slides |
| Thu, Apr 17 | Concurrency in Java | slides |
| Tue, Apr 22 | TBA | slides |
| Thu, Apr 24 | Review | slides |
| Tue, Apr 29 | PREP Day | |
| Thu, May 1 | Reading Day | |