You can jump to the upcoming week or to the (tentative) future weeks. Anything on the schedule more than 24 hours in advance is subject to change.
Past weeks
Week | Tuesday | Thursday | Assignments | Reading |
1 | Jan 10 Lecture 0 Introduction |
Jan 12 Lecture 1 Overview |
Assignment 0 Released | Chapter 1.1 - 1.3 |
2 | Jan 17 faculty strike, no class |
Jan 19 faculty strike, no class |
||
3 | Jan 24 Lecture 2 What is an object? |
Jan 26 Lecture 3 What is an object? (annotated) |
Assignment 0 Due Assignment 1 Released | Chapter 7.1 Chapter 6.1.2 Chapter 8.1 - 8.3 |
4 | Jan 31 Lecture 4 Modules, Subtyping, Overloading, Overriding (annotated) |
Feb 02 Lecture 5 Multiple Inheritance, Traits |
Chapter 10 | |
5 | Feb 07 Lecture 6 Multiple Inheritance, Traits |
Feb 09 Lecture 7 Casting, Typing |
Assignment 1 Due | Chapter 10 |
6 | Feb 14 Lecture 8 Casting, Typing (annotated) |
Feb 16 Lecture 9 Reflection (annotated) |
Assignment 2 Released | Assignment 1 outline Chapter 16.3 |
7 | Feb 21 Lecture 10 Reflection (annotated) |
Feb 23 Lecture 11 Error Handling (annotated) |
Assignment 1 Resubmission Due 2/20 at 11:59 PM | Chapter 16.3 Chapter 9.4 |
8 | Feb 28 Lecture 12 Generics |
Mar 02 Lecture 13 Review for the Midterm |
Assignment 2 Due 2/27 at 11:59 PM | Chapter 7.3 Assignment 2 outline |
9 | Mar 07 Midterm |
Mar 09 Lecture 14 Generics |
Assignment 2 Resubmission Due 3/8 at 11:59 PM | Chapter 7.3 |
10 | Mar 14 Lecture 15 Java Streams (annotated) |
Mar 16 Lecture 16 Java Streams (annotated) |
Assignment 3 Released | Chapter 11 Java Stream API |
11 | Mar 21 spring break, no class |
Mar 23 spring break, no class |
||
12 | Mar 28 Lecture 17 Interpreter 1 |
Mar 30 Lecture 18 Interpreter 2 |
Assignment 3 Due 3/31 at 11:59 PM | interpreter code Definitional Interpreters for Higher-Order Programming Languages, John C. Reynolds |
13 | Apr 04 Lecture 19 Interpreter 3 (annotated) |
Apr 06 Lecture 20 Imperative Interpreter (annotated) |
Assignment 4 Released | imperative interpreter code Definitional Interpreters for Higher-Order Programming Languages, John C. Reynolds |
14 | Apr 11 Lecture 21 Object Representation (annotated) |
Apr 13 Lecture 22 Bytecode (annotated) |
Assignment 3 Resubmission Due 4/14 at 11:59 PM | Chapter 16.1 JVM Bytecode |
15 | Apr 18 Lecture 23 Bytecode (annotated) |
Apr 20 Lecture 24 Just-In-Time (JIT) compiling |
Assignment 4 Due 4/21 at 11:59 PM | Chapter 16 Chapter 17 |
16 | Apr 25 Lecture 25 Garbage Collection |
Apr 27 Lecture 26 Review for the Final |
Assignment 4 Resubmission Due 4/28 at 11:59 PM | Assignment 4 outline Chapter 8.5.3 |
Upcoming week
Week | Tuesday | Thursday | Assignments | Reading |
May 07