CS 421: Programming Languages and Compilers
Lectures from Spring 2008
Lectures from Summer 2007
Lectures from Spring 2007

Lecture Schedule for Spring 2008
Schedule subject to change as course progresses.
Lecture slides for not yet given lectures are preliminary, and may change.
Lecture Videos by Date
May 27 Course Introduction & Introduction to Languages 01-CourseIntro Slides [PDF] [PDF 4-up] [PDF 6-up]
May 29, June 2 Introduction to OCaml; Variable Creation and Scoping 02-OCamlIntro Slides [PDF] [PDF 4-up] [PDF 6-up] [OCaml Code]
June 3 Recursion Patterns 03-Recursion Slides [PDF] [PDF 4-up] [PDF 6-up] [OCaml Code]
June 5 Higher-Order Functions 04-HOF Slides [PDF] [PDF 4-up] [PDF 6-up] [OCaml Code]
June 9, June 10 User-Defined Types 05-UDTs Slides [PDF] [PDF 4-up] [PDF 6-up]
UDTs Extended Example Example Slides [PDF] [PDF 4-up] [PDF 6-up] [OCaml Code]
Option Example Example Slides [PDF] [PDF 4-up] [PDF 6-up] [OCaml Code]
June 12 Syntax: Regular Expressions, NFAs, and DFAs 06-RE Slides [PDF] [PDF 4-up] [PDF 6-up]
June 12 Syntax: Converting Regular Expressions to DFAs (Optional) 06a-RE-Conv Slides [PDF] [PDF 4-up] [PDF 6-up]
June 16 Hask: A Simplified Haskell 07-Hask Slides [PDF] [PDF 4-up] [PDF 6-up]
June 16 Syntax: Lexing and ocamllex 08-Lexing Slides [PDF] [PDF 4-up] [PDF 6-up]
June 17 Names and Variables 09-Names Slides [PDF] [PDF 4-up] [PDF 6-up]
June 19 Syntax: Introduction to Grammars 10-Grammars Slides [PDF] [PDF 4-up] [PDF 6-up]
June 23,24 Syntax: Parsing 11-Parsing Slides [PDF] [PDF 4-up] [PDF 6-up]
[Recursive Descent Parser] [OCamlyacc Sample Parser]
June 24,26,30 Types and Type Derivations 12-TypeDeriv Slides [PDF] [PDF 4-up] [PDF 6-up]
June 30 Unification 13-Unification Slides [PDF] [PDF 4-up] [PDF 6-up]
July 1 Review
July 3 No Class
July 7 MIDTERM
July 8 Data Abstraction 14-DataAbstraction Slides [PDF] [PDF 4-up] [PDF 6-up]
July 10 Object-Oriented Languages 15-OOP Slides [PDF] [PDF 4-up] [PDF 6-up]
July 14 Transition Semantics 16-TransSem Slides [PDF] [PDF 4-up] [PDF 6-up]
July 15 Natural Semantics 17-NatSem Slides [PDF] [PDF 4-up] [PDF 6-up]
July 17 Control Flow 18-ControlFlow Slides [PDF] [PDF 4-up] [PDF 6-up]
July 21 Lambda Calculus 19-Lambda Slides [PDF] [PDF 4-up] [PDF 6-up]
July 24 Garbage Collection 20-GC Slides [PDF] [PDF 4-up] [PDF 6-up]
July 28 Concurrency 21-Concurrency Slides [PDF] [PDF 4-up] [PDF 6-up]
July 29 Review
July 31 Review (No official class after 12:00)
August 1 FINAL EXAM 1:00 PM - 3:00 PM, 1304 Siebel Center