Mon | Day | DOW | Special | Class | Lecture | Unit | Topic | Reading | Project |
---|---|---|---|---|---|---|---|---|---|
8 | 26 | M | 1 | 1 | Introduction | Intro | PLP 1.0-1.5 | ||
8 | 28 | W | 2 | 2 | Structure of a compiler | PLP 1.6-1.7 | |||
9 | 2 | M | Labor Day | ||||||
9 | 4 | W | 3 | 3 | Syntax | Lexical Analysis (Scanning) | PLP 2.0-2.2; CS 2.4.0-2.4.1 | ||
9 | 9 | M | 4 | 4 | Parsing: Top-down, Predictive, Recursive descent | PLP 2.3.0-2.3.2; CS 2.3.5 (pp. 1-6) | |||
9 | 11 | W | 5 | 5 | Parsing: Bottom-up, Error recovery | PLP 2.3.3; CS 2.3.5 (except pp. 10-12) | Project 1 Due | ||
9 | 16 | M | 6 | 6 | Names | Binding, Storage, Scope | PLP 3.0-3.4 | ||
9 | 18 | W | 7 | 7 | Scope, Binding of Reference Environments, Macros | PLP 3.4-3.7, 3.9 | |||
9 | 23 | M | 8 | 8 | Semantics | Semantic Analysis, Attribute Grammars, Action Routines | PLP 4.0-4.5 | ||
9 | 25 | W | 9 | 9 | Tree Grammars and Syntax Tree Decoration | PLP 4.6-4.7 | |||
9 | 30 | M | 10 | 10 | Control Flow | Expressions, sequencing, and selection | PLP 6.0-6.4 | ||
10 | 2 | W | 11 | 11 | Iteration and recursion | PLP 6.5-6.8 | |||
10 | 7 | M | 12 | TBD | Project 2 Due | ||||
10 | 9 | W | 13 | Midterm Exam | Midterm Exam | ||||
10 | 14 | M | Fall Break | ||||||
10 | 16 | W | 14 | 12 | Code Generation and Runtime Systems | Code generation, assembly | PLP 15.0-15.3 | ||
10 | 21 | M | 15 | 13 | Type Systems | Type systems, type checking | PLP 7.0-7.2 | ||
10 | 23 | W | 16 | 14 | Polymorphism/Generics | PLP 7.3-7.5; CS 7.3.2 | |||
10 | 28 | M | 17 | 15 | Composite Types | Records and arrays | PLP 8.0-8.4 | ||
10 | 30 | W | 18 | 16 | Pointers, references, and dynamic storage management | PLP 8.5 | |||
11 | 4 | M | 19 | 17 | Control Abstraction | Subroutines, stack management, parameter passing | PLP 9.0-9.3 | ||
11 | 6 | W | 20 | 18 | Exceptions, events | PLP 9.4.0-9.4.3, 9.6 | Project 3 Due | ||
11 | 11 | M | 21 | 19 | Data Abstraction and Object Orientation | Review and implementation | PLP 10.1-10.6.1 (skim all of it; read 10.4 and 10.5 carefully) | ||
11 | 13 | W | 22 | 20 | Concurrency | Threads | PLP 13.0-13.2.3, 9.5, 13.2.4 | ||
11 | 18 | M | 23 | 21 | Synchronization, Language Mechanisms | PLP 13.3 | |||
11 | 20 | W | 24 | 22 | Run-Time Program Management | Virtual Machines, JVM, JIT, Reflection | PLP 16.0-16.1.1, 16.2 (through HotSpot example), 16.3 (Java only) | ||
11 | 25 | M | 25 | TBD | |||||
11 | 27 | W | Thanksgiving | ||||||
12 | 2 | M | 26 | 23 | Functional Programming | A Little Bit of Scheme/Lisp | PLP 11.0-11.2, 7.2.4, 8.6, 11.3 | ||
12 | 4 | W | 27 | 24 | Evaluation order, higher-order functions | PLP 11.5-11.6, 11.8-11.9 | Project 4 Due | ||
12 | 9 | M | 28 | Midterm 2 | Midterm 2 |
Last change: Wed Oct 16 09:28:56 2024