CS536 Programming Language Design
Lecture and Reading Schedule

The schedule for future lectures is tentative.


Programming Language Design



DateLecture TopicLecture NotesDueExtras
9/3Overview; Introduction to Scheme     Scheme programming overview
shapes datatypes code
9/10First-Class Functions; Data Representations of Languages The basic interpreter
hwk 1 (option 1)
hwk 1 - macros (option 2)
 
9/17Implementing a first-order language Substitution
Local bindings; implementing let
hwk 2
 
9/24Closures, Mutation, and Recursion Functions and Closures
Mutation
Recursion
   
10/1Implementing Recursion; Exceptions, Contexts and let/cc Understanding Recursion
Implementing Recursion
Contexts and let/cc
hwk3
 
10/8Continuations Implementing Exceptions
Escaping without let/cc
  let/cc and exceptions code
coroutines code from notes in detail
Notes on CPS
Examples of CPS
Slides on continuations and web programming
10/15Semantics and Lambda Calculus Language Semantics
Lambda Calculus
hwk4
(optional advanced exercises)
store passing code
interpreter with let/cc
10/22Compilation Compilation Notes
Midterm Exam
Programs from the Notes
10/29Garbage Collection I Bridging Compilers to GC
Paul Wilson's GC survey: sections 1, 2 (except 2.5)
hwk5
filter-pos with constant memory space
ftree with checkpointing on names
11/5Garbage 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/12Introduction to Types Intro to Types notes
hwk6
 
11/19Types II -- Type Inference Explicit Polymorphism
Type Constraints
Type Inference
hwk7
 
11/26No Class -- Thanksgiving Week      
12/3Types III -- Polymorphism Implicit Polymorphism
hwk 8
 
12/10Scripting Languages   Essay Rewrite
Final Exam
 
12/13No Class -- End of Semester   Pre-midterm makeup homework
 


A MzScheme script generated this page on Mon Dec 2 15:23:42 EST 2002.