Mon | Day | DOW | Special | Class | Unit | Topic | Textbook (CS=Companion Site) | Posted | Due 1159PM | Quiz due 1159PM |
---|---|---|---|---|---|---|---|---|---|---|
1 | 17 | W | 1 | Introduction | Intro | PLP 1.0-1.5 | P0 | |||
1 | 22 | M | 2 | Structure of a compiler | PLP 1.6-1.7 | P1 | Q1 | |||
1 | 24 | W | 3 | Syntax | Review of scanning and BNF | PLP 2.0-2.2; CS 2.4.0-2.4.1 | P1 kickstart | |||
1 | 29 | M | 4 | Top-down and bottom-up parsing; recursive descent | PLP 2.3.0-2.3.2; CS 2.3.5 (pp. 1-6) | |||||
1 | 31 | W | 5 | Error recovery, table-driven LL(1) parsing | PLP 2.3.3; CS 2.3.5 (except pp. 10-12) | Q2 | ||||
2 | 4 | Su | P1 due | |||||||
2 | 5 | M | No Class | 6 | ||||||
2 | 7 | W | No Class | 7 | ||||||
2 | 12 | M | 8 | Semantics I | Static analysis, action routines | PLP 4.0-4.5 | P2 | |||
2 | 14 | W | 9 | Functional Programming I | A Little Bit of OCaml | PLP 11.0-11.2, 7.2.4, 8.6, 11.4 | P2 kickstart | |||
2 | 19 | M | 10 | Semantics II | Decorating a syntax tree | PLP 4.6-4.7 | Q3 | |||
2 | 21 | W | 11 | Functional Programming II | Evaluation order, higher-order functions | PLP 11.5-11.6, 11.8-11.9 | Q4 | |||
2 | 26 | M | 12 | Names | Binding time, scope rules | PLP 3.0-3.4 | ||||
2 | 28 | W | 13 | Binding rules, separate compilation | PLP 3.5-3.9; CS 3.8 | Q5 | ||||
3 | 3 | Su | P2 due | |||||||
3 | 4 | M | 14 | TBD/Review | TBD/Review | |||||
3 | 6 | W | 15 | Midterm Exam | Midterm Exam | |||||
3 | 11 | M | Spring Break | |||||||
3 | 13 | W | Spring Break | |||||||
3 | 18 | M | 16 | Control Flow | Expressions, sequencing, and selection | PLP 6.0-6.4 | P3 | |||
3 | 20 | W | 17 | Iteration and recursion | PLP 6.5-6.8 | P3 kickstart | Q6 | |||
3 | 25 | M | 18 | Type Systems | Type systems, type checking | PLP 7.0-7.2 | ||||
3 | 27 | W | 19 | Polymorphism/Generics | PLP 7.3-7.5; CS 7.3.2 | Q7 | ||||
4 | 1 | M | 20 | Composite Types | Records and arrays | PLP 8.0-8.4 | ||||
4 | 2 | Tu | P3 due | |||||||
4 | 3 | W | 21 | Pointers, references, and dynamic storage management | PLP 8.5 | Q8 | ||||
4 | 8 | M | Solar Eclipse | 22 | ||||||
4 | 10 | W | 23 | Concurrency | Threads | PLP 13.0-13.2.3, 9.5, 13.2.4 | P4 | |||
4 | 12 | F | P4 kickstart | |||||||
4 | 15 | M | 24 | Synchronization and language mechanisms | PLP 13.3-13.4 | Q9 | ||||
4 | 17 | W | 25 | Subroutines | Stack management, parameter passing | PLP 9.0-9.3 | ||||
4 | 22 | M | 26 | Exceptions, events | PLP 9.4.3, 9.6 | Q10 | ||||
4 | 24 | W | 27 | Objects | Review and implementation | PLP 10.1-10.6.1 (skim all of it; read 10.4 and 10.5 carefully) | Q11 | |||
4 | 28 | Su | P4 due | |||||||
4 | 29 | M | 28 | Final Review | Final Review by Prof. Chen | |||||
5 | 6 | M | 400PM-600PM | Final Exam | Final Exam 400PM-600PM | rochester.edu/registrar/assets/pdf/final-exams-spring-2024.pdf |
Last change: 25 April 2024