CS536 Programming Language Design
Lecture and Reading Schedule

Programming Language Design

DateLecture TopicLecture NotesDueExtras
9/8Overview; Introduction to Scheme Modeling Languages
  Scheme programming overview
shapes datatypes code
9/15Functions as values, Substitution, Adding Functions to the Language Substitution
hwk 1 (option 1)
hwk 1 - macros (option 2)
quicksort, map, filter code
9/22Caching Substitution, Scoping, and Meta-Interpreters First-Class Functions
Caching Substitution
Meta Interpreters
hwk 2
9/29Recursion and Mutation Understanding Recursion
Implementing Recursion
hwk 3
The Meta-Interpreter for Set
10/6Web Programming, Exceptions and Contexts Web programming notes
Web programming slides
Overview of Exceptions
Contexts and let/cc
Exceptions with let/cc
Implementing Exceptions
hwk 4
10/13Continuations Continuations
Notes on CPS
Examples of CPS
hwk 5
10/20NO CLASS (term break and prof away)      
10/27Compilation Compilation Notes
Implementing Continuations
hwk 6
Midterm Exam
Programs from the Notes
11/3Semantics and Lambda Calculus Lambda Calculus
11/10Garbage Collection I Bridging Compilers to GC
Paul Wilson's GC survey: sections 1, 2 (except 2.5)
filter-pos with constant memory space
11/17Garbage Collection II Wilson's survey: sections 4.1, 4.5, 4.6 (scan), 6.1, 6.2, 7.1, 7.2, 9
  conservative collection for C++
11/24Introduction to Types Intro to Types notes
12/1Types II -- Type Inference Explicit Polymorphism
Type Constraints
Type Inference
  extra inference exercise (with solution)
12/8No Class      
12/15Types III, Wrap Up, and Course Evals   hwk 9
Final Exam

A MzScheme script generated this page on Wed Dec 3 11:31:55 EST 2003.