CS4536/CS536: Programming Languages (A-Fall09)

Lectures

We will be using the text Programming Languages: Application and Interpretation, which is available online in PDF format. (chapter numbers in the lecture schedule below refer to the text)

The Wilson survey is available as bigsurv.pdf under the root URL for the course (link omitted to duck search engines)

DateTopicChapters and Notes
Oct 15Compiling Scheme20, Notes
Oct 12Continuations and Coroutinescoroutines code
Oct 8Types for Security; Intro to Continuations 
Oct 5Let-based Polymorphism; Contracts31
Oct 1Explicit Polymorphism and Type Inference29, 30
Sep 28Typing Control, Termination, Type Soundness26, 28
Sep 24Introduction to Types and Type Judgements24, 25
Sep 21Garbage CollectionWilson's survey, Sects 1, 2.1-2.4, 2.6-2.8, 4.1, 4.5-4.6, 6.1-6.2, 7.1-7.2, 9
Sep 17Mutation, Variables, Parameter Passing13-14
Sep 14Recursion; Intro to Mutation9-10, 12-13; starter file for class
Sep 10Haskell and Implementing Laziness7 and 8; starter file for class
additional Haskell notes
Sep 7Labor Day (no class) 
Sep 3Delayed Substitution; First-Class Functions5 and 6
Aug 31Substitution; Functions3 and 4
Aug 27Overview; Modeling Languages, Basic Interpreters1 and 2

Scheme Material

If you need a Scheme reference, see Chapters 1-6 of Teach yourself Scheme in Fixnum Days or How to Design Programs (the intro text that goes with DrScheme). We will use the following constructs/concepts this term: functions, conditionals, symbols, user-defined datatypes (using define-type, covered in class notes only), lists, functions as arguments, let/local.

Sample programs reviewing key constructs

Practice Problems