Date | Topic and Notes | Homework Due This Class | Reading For This Class |
---|---|---|---|
Thu Jan 21 | Course Overview | ||
Tue Jan 26 |
History of PL
Functional Programming |
Required:
| |
Thu Jan 28 |
Functional Programming
Overview of Cool |
| Required: Optional: Required for Compilers Only: |
Tue Feb 02 | Lexical Analysis & Finite Automata (Part 1) |
|
Required:
|
Thu Feb 04 | More Finite Automata (Part 2) |
On-Line:
| |
Tue Feb 09 | Context-Free Grammars, Parsing, Derivations, Ambiguity |
|
Required:
|
Thu Feb 11 |
Top-Down Parsing, History, Earley
(Earley Handout) |
|
Required:
|
Tue Feb 16 | Earley Parsing and Examples |
|
Required:
|
Thu Feb 18 | Midterm 1 (in class)
(1 hour 30 minutes if needed) |
| |
Tue Feb 23 | Code Generation (Part 1) |
|
Required:
|
Thu Feb 25 | Code Generation (Part 2) |
| Required for Compilers Only: |
Tue Mar 01 | Scoping & Types |
|
Required:
|
Thu Mar 03 | Type Checking & Static Semantics |
|
Required:
|
Tue Mar 08 | no class, Spring Recess | ||
Thu Mar 10 | no class, Spring Recess | ||
Tue Mar 15 | More Static Semantics |
|
Required:
|
Thu Mar 17 | Cool Type Checking, Runtime Organization |
|
Required:
|
Tue Mar 22 | Multi-Language Projects |
| Required: Optional: |
Thu Mar 24 | Operational Semantics |
Required:
| |
Tue Mar 29 | Introduction to Game Theory |
| Optional: |
Thu Mar 31 |
Basic Blocks, Local Optimizations
Real-World Day (5pm) |
|
Required:
On-Line:
|
Tue Apr 05 | Dataflow Analysis, Global Optimizations | Required: | |
Thu Apr 07 |
Automatic Memory Management
Productivity (5pm) |
|
Required:
|
Tue Apr 12 | Exceptions and Error Handling |
Required:
| |
Thu Apr 14 | Debuggers and Profilers |
|
Required:
|
Tue Apr 19 | Linking, Loading and Shared Libraries |
Required:
| |
Thu Apr 21 | Language Security | Required: | |
Tue Apr 26 |
Midterm 2 (in class)
(1 hour 30 minutes if needed) | ||
Thu Apr 28 | Internet Security |
Required:
On-Line:
| |
Tue May 03 | Quantum Computing, and/or Romance Novels | ||
Tue May 10 |
|