Home | Lectures | Written Assignments | Programming Assignments | Compilers 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 12  Course Overview
  1. Start PA1
Wed Jan 14 History of PL
Functional Programming
  1. Start CA1 (Compilers Only)
Required:
  • Chapters 10.1 - 10.3, 10.5 - 10.8, 13.2.4
Required for Compilers Only: Optional:
Mon Jan 19 no class, MLK Day
  1. PA1c (Rosetta Checkpoint) Due
Wed Jan 21 Functional Programming
Overview of Cool
Required: Required for Compilers Only:
Mon Jan 26 Lexical Analysis & Finite Automata (Part 1)
  1. PA1 (Rosetta) Due
Required:
  • Chapters 2.1 - 2.2
On-Line: Optional:
Wed Jan 28 More Finite Automata (Part 2)
  1. CA1 (Dead Code) Due
On-Line: Required for Compilers Only:
  • Chapter 14.2
Mon Feb 02 Context-Free Grammars, Parsing, Derivations, Ambiguity
  1. WA1 Due
  2. PA2 (Lexing) Due
Required: On-Line:
Wed Feb 04 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 09 Earley Parsing and Examples
  1. WA2 Due
  2. CA2 (Three-Address) Due
Required: Required for Compilers Only: On-Line: Optional:
Wed Feb 11 Midterm 1 (in class)
(1 hour 30 minutes if needed)
  1. (Do not forget PA3.)
Mon Feb 16 Code Generation (Part 1)
  1. WA3 Due
  2. PA3 (Parsing) Due
Required: Required for Compilers Only:
Wed Feb 18 Code Generation (Part 2) Required for Compilers Only:
Mon Feb 23 Scoping & Types Required:
  • Chapters 3.1 - 3.6
On-Line: Required for Compilers Only: Optional:
Wed Feb 25 Type Checking & Static Semantics
  1. PA4t (Semantics Test-Driven) Due
  2. CA3 (Code Generator) Due
Required:
  • Chapters 4 - 4.1, 7 - 7.1
Required for Compilers Only: Optional:
Mon Mar 02 More Static Semantics
  1. PA4c (Semantics Checkpoint) Due
Required:
  • Chapters 7.2 - 7.3
Optional:
Wed Mar 04 Cool Type Checking, Runtime Organization
  1. WA4 Due
Required:
  • Chapters 8.1 - 8.3
Optional:
Mon Mar 09 no class, Spring Recess
Wed Mar 11 no class, Spring Recess
Sun Mar 15 no class (Sunday)
  1. PA4 (Semantics) Due
    (+1/100 if turned in by Fri Mar 06)
Mon Mar 16 Multi-Language Projects
Required: Optional:
Wed Mar 18 Operational Semantics
  1. CA4t (Compiler Test-Driven) Due
Required: Optional:
Mon Mar 23 Introduction to Game Theory Optional:
Wed Mar 25 Basic Blocks, Local Optimizations
  1. WA5 Due
  2. PA5t (Interpreter Test-Driven) Due
Required: On-Line:
Mon Mar 30 Dataflow Analysis, Global Optimizations
  1. CA4 (Compiler) Due
Required:
Wed Apr 01 Automatic Memory Management
  1. WA6 Due
Required:
  • Chapter 7.7
Optional:
Mon Apr 06 Exceptions and Error Handling Required:
  • Chapter 8.5
Wed Apr 08 Debuggers and Profilers
  1. WA7 Due
  2. PA5c (Interpreter Checkpoint) Due
Required: On-Line:
Mon Apr 13 Linking, Loading and Shared Libraries Required: Optional:
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
  1. PA5 (Interpreter) Due 11:50pm
  2. CA5 (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