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