CS3276 (CS5276) — Course Schedule


Fall 2022

This schedule is subject to change. It may be updated during the semester.
Date Topic Due Readings
R 08/25/22 Course Introduction (None, first day)
T 08/30/22 Overview of Python and Cool Cool Reference Manual
R 09/01/22 Lexical Analysis PA1 (Python implementation) Due Dragon Book Ch 3;
PL Pragmatics Ch 2.1 – 2.2
T 09/06/22 Lexical Analysis Foundations and Lexer Generators Flex Manual (especially in Python's ply package)
PL Pragmatics Ch 2.1-2.2
R 09/08/22 Parsing Basics (Grammars) PA1C (Cool implementation) Due Dragon Book Ch 4.1, 4.2;
PL Pragmatics Ch 2.3
T 09/13/22 LL Parsing Dragon Book Ch 4.3, 4.4;
PL Pragmatics 2.3.1-2.3.4
R 09/15/22 More Parsing (LR) PA2 Due PL Pragmatics Ch 4.8
T 09/20/22 Parser Generators, exam review Yacc or Bison Manual (especially Python's ply package)
R 09/22/22 Midterm 1
T 09/27/22 Types and Scoping Dragon Book Ch 1.6.1, 1.6.2, 1.6.5, 1.6.6, 1.6.7;
PL Pragmatics Ch 3.2.1-3.2.3, 3.6
R 09/29/22 Intro to PA4, Types, Scoping PA3 Due
T 10/04/22 Type Checking Dragon Book Ch 6.5, PL Pragmatics 4.2, 4.3, 4.6
R 10/06/22 Type Checking (2) Dragon Book Ch 7.2-7.3;
PL Pragmatics Ch 8.1-8.3
T 10/11/22 Program and Runtime Organization Dragon Book Ch 6, 6.1, 6.2, 6.3;
PL Pragmatics Ch 9.2
R 10/13/22 Fall Break
T 10/18/22 Intermediate Representations Dragon Book Ch 6.4, 6.6
R 10/20/22 PA5, Code Generation PA4 Due PL Pragmatics Ch 5.2, 5.4, 5.6, 9.4, 9.5
T 10/25/22 Control Flow Graphs, Dataflow Analysis Dragon Book Ch 9.2.1 – 9.2.3, 9.2.5;
PL Pragmatics 14.1.1, 14.2, 14.3.1
R 10/27/22 Dataflow analysis Dragon Book Ch 9.3
T 11/01/22 Midterm 2
R 11/03/22 Memory Management, Garbage Collection Dragon Book Ch 7.4, 7.5
T 11/08/22 Optimization Potpourri
R 11/10/22 Memory Hierarchy, Register Allocation, Linking/Loading PL Pragmatics Ch 14.6, 14.7
T 11/15/22 Linking/Loading, Register Allocation (2) PL Pragmatics Ch 15.3.2
R 11/17/22 LLVM, Security/Compilers PA5 Due
T 11/22/22 Thanksgiving Break
R 11/24/22 Thanksgiving Break
T 11/29/22 Optimizations Wikipedia's article on Basic Blocks;
Wikipedia's article on Dataflow analysis
R 12/01/22 Optimizations (2)
T 12/06/22 Bonus lecture: career development and failure
R 12/08/22 Exam Review PA6 Due There are no extensions or late days for PA6
T 12/13/22 2PM-5PM Final Exam Absolutely all course material must be turned in.