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 | 6 | Semantics | Static analysis, action routines | PLP 4.0-4.5 | P2 | |||
2 | 7 | W | 7 | Decorating a syntax tree | PLP 4.6-4.7 | P2 kickstart | Q3 | |||
2 | 12 | M | 8 | Functional Programming | A Little Bit of Scheme/Lisp | PLP 11.0-11.2, 7.2.4, 8.6, 11.3 | ||||
2 | 14 | W | 9 | Evaluation order, higher-order functions | PLP 11.5-11.6, 11.8-11.9 | Q4 | ||||
2 | 18 | Su | P2 due | |||||||
2 | 19 | M | 10 | Names | Binding time, scope rules | PLP 3.0-3.4 | P3 | |||
2 | 21 | W | 11 | Binding rules, separate compilation | PLP 3.5-3.9; CS 3.8 | P3 kickstart | Q5 | |||
2 | 26 | M | 12 | Control Flow | Expressions, sequencing, and selection | PLP 6.0-6.4 | ||||
2 | 28 | W | 13 | Iteration and recursion | PLP 6.5-6.8 | Q6 | ||||
3 | 4 | M | 14 | TBD/Review | TBD/Review | |||||
3 | 5 | Tu | P3 due | |||||||
3 | 6 | W | 15 | Midterm Exam | Midterm Exam | |||||
3 | 11 | M | Spring Break | |||||||
3 | 13 | W | Spring Break | |||||||
3 | 18 | M | 16 | Type Systems | Type systems, type checking | PLP 7.0-7.2 | P4 | |||
3 | 20 | W | 17 | Polymorphism/Generics | PLP 7.3-7.5; CS 7.3.2 | P4 kickstart | Q7 | |||
3 | 25 | M | 18 | Composite Types | Records and arrays | PLP 8.0-8.4 | ||||
3 | 27 | W | 19 | Pointers, references, and dynamic storage management | PLP 8.5 | Q8 | ||||
4 | 1 | M | 20 | Concurrency | Threads | PLP 13.0-13.2.3, 9.5, 13.2.4 | ||||
4 | 2 | Tu | P4 due | |||||||
4 | 3 | W | 21 | Synchronization | PLP 13.3 | P5 | ||||
4 | 5 | F | P5 kickstart | |||||||
4 | 8 | M | 22 | Language mechanisms | PLP 13.4 | Q9 | ||||
4 | 10 | W | 23 | Subroutines | Stack management, parameter passing | PLP 9.0-9.3 | ||||
4 | 15 | M | 24 | Exceptions, events | PLP 9.4.3, 9.6 | Q10 | ||||
4 | 17 | W | 25 | Objects | Review and implementation | PLP 10.1-10.6.1 (skim all of it; read 10.4 and 10.5 carefully) | Q11 | |||
4 | 22 | M | 26 | Code Generation and Runtime Systems | Code generation, assembly | PLP 15.0-15.3, 15.5 | ||||
4 | 23 | Tu | P5 due | |||||||
4 | 24 | W | 27 | Linking; the JVM | PLP 15.6, 16.1.1 | Q12 | ||||
4 | 29 | M | 28 | TBD/Review | TBD/Review | |||||
5 | 6 | M | 400PM-600PM | Final Exam | Final Exam 400PM-600PM | https://www.rochester.edu/registrar/assets/pdf/final-exams-spring-2024.pdf |
Last change: Fri Jan 12 15:33:17 2024