You can jump to the upcoming week or to the (tentative) future weeks.
There’s also a Google calendar you can check and/or subscribe to with all the lectures, office hours, and due dates for the assignments.
Past weeks
Week | Tuesday | Thursday | Assignments | Book Chapters |
---|---|---|---|---|
1 | Aug 25 Lecture 0 Introduction |
Aug 27 Lecture 1 Overview |
Assignment 0 Released | Chapter 1 |
2 | Sep 1 Lecture 2 Names, Scopes, Bindings, Overloading |
Sep 3 Lecture 3 Value Types vs Reference Types |
Assignment 0 Due | Chapter 3, Chapter 6.1.2, Chapter 8 |
3 | Sep 8 Lecture 4 ADT vs PDA |
Sep 10 Lecture 5 Modules, Subtyping, Overloading, Overriding |
Assignment 1 Released | William R. Cook. 2009. On understanding data abstraction, revisited Chapter 10 |
4 | Sep 15 Lecture 6 Multiple Inheritance, Traits |
Sep 17 Lecture 7 Casting, Typing |
Assignment 1 Due | Chapter 10 Java Lang Spec 4.3.2, 4.1.0.2, 9.1-9.5, 13.5.6 |
5 | Sep 22 Lecture 8 Reflection |
Sep 24 Lecture 9 Error Handling |
Assignment 2 Released | Chapter 9.4, Chapter 16.3 |
6 | Sep 29 Lecture 10 Generics |
Oct 1 Lecture 11 Constructors, Substitutivity |
Assignment 2 Due | Chapter 7.3, 3.3.4, 9.4, 10 |
7 | Oct 6 Lecture 12 Functional Programming |
Oct 8 Lecture 13 Review for the Midterm |
Chapter 10 | |
8 | Oct 13 Midterm |
Oct 15 Lecture 14 Java Streams |
Assignment 3 Released | Chapter 10 Java Stream API |
9 | Oct 20 Lecture 15 Midterm Solution and Functional Programming |
Oct 22 Lecture 16 Interpreter 1 |
Assignment 3 Due | Chapter 11 John C. Reynolds, Definitional Interpreters for Higher-Order Programming Languages. |
10 | Oct 27 Lecture 17 Interpreter 2 |
Oct 29 Lecture 18 Interpreter 3 |
Assignment 4 Released | John C. Reynolds, Definitional Interpreters for Higher-Order Programming Languages. |
11 | Nov 3 Voting day, no class |
Nov 5 Lecture 19 Interpreter 4 |
Assignment 4 Due | John C. Reynolds, Definitional Interpreters for Higher-Order Programming Languages. |
12 | Nov 10 Lecture 20 Continuations |
Nov 12 Lecture 21 Coroutines and Bytecode Execution |
Assignments 5 and 6 Released | Chapter 6.2.2, 9.4, 9.5, 16.1.1 JVM Bytecodes |
13 | Nov 17 Lecture 22 Bytecode |
Nov 19 Lecture 23 Just-In-Time (JIT) compiling |
Assignment 5 Due | Chapter 8.5.3, 16, 17 |
14 | Nov 24 Lecture 25 Garbage Collection |
Nov 26 Thanksgiving, no class |
Assignment 6 Early Submission Bonus | Chapter 8.5.3, 17 |
15 | Dec 1 Lecture 26 Review for the Final |
Dec 3 Lecture 27 Conclusion and Research Topics |
Assignment 6 Due |
Upcoming week
Week | Tuesday | Thursday | Assignments | Book Chapters |
Future weeks
Tentative
Week | Tuesday | Thursday | Assignments | Book Chapters |