Lecture Notes

Special software is required to use some of the files in this section: .rm, .mp3.

These files are also available on iTunes® and YouTube™.

In addition to downloadable lecture notes, video and audio files of select lecture (L) and recitation (R) sessions are provided below.

(S): Session taught by Professor Saman Amarasinghe
(M): Session taught by Professor Martin Rinard


SES # TOPICS VIDEOs AUDIO
L1 Course Administration Information and Overview (S) (PDF) (RM - 56K)
(RM - 220K)
(MP3 - 11.3MB)
R1 Scanner Parser Project (PDF) (Courtesy of Punyashloka Biswal. Used with permission.) (RM - 56K)
(RM - 220K)
(MP3 - 11.2MB)
L2 Overview of Programming Languages (M)    
L3 Regular Expressions, Language Specification by Formal Grammars (M) (PDF)    
L4 Parse Table Construction (M) (PDF)    
L5 Top-down Parsing (M) (PDF)    
L6 Intermediate Representations (M) (PDF)    
L7 Semantic Analysis (M) (PDF)    
L8 Unoptimized Code Generation (S) (PDF) (RM - 56K)
(RM - 220K)
(MP3 - 13.3MB)
L9 Unoptimized Code Generation (cont.) (S) (PDF) (RM - 56K)
(RM - 220K)
(MP3 - 13.3MB)
L10 Introduction to Program Analysis and Optimization (M) (PDF)    
L11 Data-flow Analysis (M) (PDF)    
L12 Data-flow Optimizations (M) (PDF)    
L13 Foundations of Data-flow Analysis (M) (PDF)    
L14 Instruction Scheduling (S) (PDF) (RM - 56K)
(RM - 220K)
(MP3 - 11.9MB)
L15 Instruction Scheduling (cont.) (S) (PDF) (RM - 56K)
(RM - 220K)
(MP3 - 11.4MB)
L16 Register Allocation (S) (PDF) (RM - 56K)
(RM - 220K)
(MP3 - 11.5MB)
L17 Putting it all Together (S) (PDF) (RM - 56K)
(RM - 220K)
(MP3 - 9.1MB)
L18 Compiler Derby (S)