Home | Written Assignments | Programming Assignments | Exams | Cool | Discussion Group

CS 4610 - Lectures

Compilers Practium Notes

Meetings for CS 4501 — Compilers Practicum will be held Mondays from 5:00pm to 6:30pm in Olsson 011. The notes are posted on the class forum.

Lectures

Date Topic (and notes, when available) Homework Reading For This Class
Wed Jan 18  Course Overview
Mon Jan 23 History of PL
Functional Programming
Required:
  • Chapters 10.1 - 10.3, 10.5 - 10.8, 13.2.4
Optional:
Wed Jan 25 Functional Programming
Overview of Cool
  1. PA1c (Rosetta Checkpoint) Due
Required:
Mon Jan 30 Lexical Analysis & Finite Automata (Part 1) Required:
  • Chapters 2.1 - 2.2
Optional:
Wed Feb 01 More Finite Automata (Part 2)
  1. PA1 (Rosetta) Due
Mon Feb 06 Context-Free Grammars, Parsing, Derivations, Ambiguity Required:
Wed Feb 08 Top-Down Parsing
  1. WA1 Due
  2. PA2 (Lexing) Due
Required:
  • Chapters 2.3 - 2.3.2
Optional:
Mon Feb 13 LR Parsing (Start PA3 early; look at the Midterm schedule to see why.) Required:
  • Chapter 2.3.3
Optional:
Wed Feb 15 LR Table Construction
  1. WA2 Due
Required:
Mon Feb 20 Midterm 1 (in class)
(1 hour 30 minutes if needed)
(Do not forget PA3.)
Wed Feb 22 Code Generation (Part 1)
  1. WA3 Due
  2. PA3 (Parsing) Due
Required: Required for Compilers Only:
Mon Feb 27 Code Generation (Part 2) Required for Compilers Only:
Wed Feb 29 Scoping & Types
  1. Compilers: PA6c (Compiler Checkpoint) Due
Required:
  • Chapters 3.1 - 3.6
Optional:
Mon Mar 12 Type Checking & Static Semantics
Guest Lecture: Claire Le Goues
Required:
  • Chapters 4 - 4.1, 7 - 7.1
Optional:
Wed Mar 14 More Static Semantics Required:
  • Chapters 7.2 - 7.3
Optional:
Mon Mar 19 Cool Type Checking, Runtime Organization
  1. PA4c (Semantics Checkpoint) Due
Required:
  • Chapters 8.1 - 8.3
Required for Compilers Only: Optional:
Wed Mar 21 Operational Semantics
  1. WA4 Due
Required: Required for Compilers Only: Optional:
Mon Mar 26 Basic Blocks, Local Optimizations
  1. PA4 (Semantics) Due
    (free 48 hour extension)
Required:
Wed Mar 28 Dataflow Analysis, Global Optimizations Required: Required for Compilers Only:
Mon Apr 02 Automatic Memory Management
  1. WA5 Due
Required:
  • Chapter 7.7
Optional:
Wed Apr 04 Exceptions and Error Handling Required:
  • Chapter 8.5
Mon Apr 09 Debuggers and Profilers
  1. WA6 Due
Required:
Wed Apr 11 Linking, Loading and Shared Libraries
  1. Compilers: PA6 (Compiler) Due
Required: Optional:
Mon Apr 16 Language Security
  1. WA7 Due
  2. PA5c (Interpreter Checkpoint) Due
Required:
Wed Apr 18 Midterm 2 (in class)
(1 hour 30 minutes if needed)
Mon Apr 23 Internet Security Required:
Wed Apr 25 Introduction to Game Theory Optional:
Mon Apr 30 Quantum Computing, and/or Romance Novels
Mon May 07
  1. PA5 (Interpreter) Due
  2. Compilers: PA7 (Optimizer) Due
  3. Take-Home Programming Languages Final Exam Due
  4. Compilers: Take-Home Compilers Final Exam Due