Home | Lectures | Written Assignments | Programming Assignments | Exams | Cool | Piazza Forum

CS 4610 - Lectures

Lectures

Date Topic (and notes, when available) Homework Due This Class Reading For This Class
Mon Jan 13  Course Overview
  1. Start PA1
Wed Jan 15 History of PL
Functional Programming
Required:
  • Chapters 10.1 - 10.3, 10.5 - 10.8, 13.2.4
Optional:
Mon Jan 20 no class, MLK Day
  1. PA1c (Rosetta Checkpoint) Due
Wed Jan 22 Functional Programming
Overview of Cool
Required:
Mon Jan 27 Lexical Analysis & Finite Automata (Part 1)
  1. PA1 (Rosetta) Due
Required:
  • Chapters 2.1 - 2.2
On-Line: Optional:
Wed Jan 29 More Finite Automata (Part 2) On-Line:
Mon Feb 03 Context-Free Grammars, Parsing, Derivations, Ambiguity
  1. WA1 Due
  2. PA2 (Lexing) Due
Required: On-Line:
Wed Feb 05 Top-Down Parsing, History, Earley
  1. (Start PA3 early; look at the Midterm schedule to see why.)
Required:
  • Chapters 2.3 - 2.3.2
On-Line: Optional:
Mon Feb 10 Earley Parsing and Examples
  1. WA2 Due
Required: On-Line: Optional:
Wed Feb 12 Midterm 1 (in class)
(1 hour 30 minutes if needed)
  1. (Do not forget PA3.)
Mon Feb 17 Code Generation (Part 1)
  1. WA3 Due
  2. PA3 (Parsing) Due
Required: Required for Compilers Only:
Wed Feb 19 Code Generation (Part 2) Required for Compilers Only:
Mon Feb 24 Scoping & Types
  1. Compilers: PA6c (Compiler Checkpoint) Due
Required:
  • Chapters 3.1 - 3.6
On-Line: Optional:
Wed Feb 26 Type Checking & Static Semantics Required:
  • Chapters 4 - 4.1, 7 - 7.1
Optional:
Mon Mar 03 no class, snow day
  1. PA4t (Semantics Test-Driven) Due
Wed Mar 05 More Static Semantics
  1. PA4c (Semantics Checkpoint) Due
Required:
  • Chapters 7.2 - 7.3
Optional:
Mon Mar 17 no class, snow day
Wed Mar 19 Cool Type Checking, Runtime Organization
  1. WA4 Due
  2. PA4 (Semantics) Due
Required:
  • Chapters 8.1 - 8.3
Required for Compilers Only: Optional:
Mon Mar 24 Multi-Language Projects
Required: Optional:
Wed Mar 26 Operational Semantics Required: Required for Compilers Only: Optional:
Sun Mar 30
Thn E303
(same time/room)
Introduction to Game Theory Optional:
Mon Mar 31 Basic Blocks, Local Optimizations
  1. WA5 Due
  2. PA5t (Interpreter Test-Driven) Due
Required: On-Line:
Wed Apr 02 Dataflow Analysis, Global Optimizations Required: Required for Compilers Only:
Mon Apr 07 Automatic Memory Management
  1. WA6 Due
Required:
  • Chapter 7.7
Optional:
Wed Apr 09 Exceptions and Error Handling
  1. Compilers: PA6 (Compiler) Due
Required:
  • Chapter 8.5
Mon Apr 14 Debuggers and Profilers
  1. WA7 Due
  2. PA5c (Interpreter Checkpoint) Due
Required: On-Line:
Wed Apr 16 Linking, Loading and Shared Libraries Required: Optional:
Mon Apr 21 Midterm 2 (in class)
(1 hour 30 minutes if needed)
Wed Apr 23 Language Security Required:
Mon Apr 28 Internet Security Required: On-Line:
Wed Apr 30
Thn E303
(same time/room)
Quantum Computing, and/or Romance Novels
Mon May 05
  1. PA5 (Interpreter) Due 11:50pm
  2. Compilers: PA7 (Optimizer) Due 11:50pm
  3. Late Electronic/PA Submissions Due 11:50pm
  4. Late Written Course Materials Due 5:00pm
  5. Oral Examinations Completed 5:00pm