CSc 553 Principles of Compilation - Schedule


Introduction

Week 1
Lecture #1, Thu, Jan 13: Administrivia, Introduction
Week 2
Lecture #2, Tue, Jan 18: Interpreters
Lecture #3, Thu, Jan 20: Intermediate Code, Procedures
Week 3
Lecture #4, Tue, Jan 25: Introduction to code generation
Lecture #5, Thu, Jan 27: Student Presentations: Interpreters
Week 4
Lecture #6, Tue, Feb 1: OO
Lecture #7, Thu, Feb 3: Garbage Collection
Week 5
Lecture #8, Tue, Feb 8: GC
Lecture #9, Thu, Feb 10: GC
Week 6
Lecture #10, Tue, Feb 15: Exceptions
Lecture #11, Thu, Feb 17: Student Presentations: Garbage Collection
Week 7
Lecture #12, Tue, Feb 22: Student Presentations: Garbage Collection
Lecture #13, Thu, Feb 24: Exception Handling
Week 8
Lecture #14, Tue, Mar 1: TBA
Lecture #15, Thu, Mar 3: TBA
Week 9
Lecture #16, Tue, Mar 8: Code-generation from trees.
Lecture #17, Thu, Mar 10: Instruction-Selection by Dynamic Programming
Week 10
Lecture #18, Tue, Mar 15: Spring Break
Lecture #19, Thu, Mar 17: Spring Break
Week 11
Lecture #20, Tue, Mar 22: Code generation by Tree Pattern-Matching
Lecture #21, Thu, Mar 24: Graph-coloring register allocation
Week 12
Lecture #22, Tue, Mar 29: Instruction-scheduling
Lecture #23, Thu, Mar 31: Optimization
Week 13
Lecture #24, Tue, Apr 5: Data-Flow Analysis
Lecture #25, Thu, Apr 7: Iterative Data-Flow Analysis
Week 14
Lecture #26, Tue, Apr 12: TBA
Lecture #27, Thu, Apr 14: Student presentations
Week 15
Lecture #28, Tue, Apr 19: Finding loops
Lecture #29, Thu, Apr 21: Parallelizing compilers
Week 16
Lecture #30, Tue, Apr 26: Parallelizing compilers
Lecture #31, Thu, Apr 28: Parallelizing compilers, watermarking
Week 17
Lecture #32, Tue, May 3: Student Presentations, similarity analysis, obfuscation