CS 4536: Programming Languages (C08)

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
Feb 22More Type Inference30
Feb 21Type Inference30
Feb 19Type Soundness28
Feb 18Type Judgments and Typing Control25, 26
Feb 15Introduction to Types24, 25
Feb 14Academic Advising Day, no class 
Feb 12Garbage CollectionWilson's survey Sects 6.1-6.2, 7.1-7.2, 9
Feb 11Garbage CollectionWilson's survey Sects 2.6-2.8, 4.1, 4.5-4.6
Feb 8Garbage Collection21, Wilson's survey Sects 1, 2.1-2.4
Feb 7Control and Coroutinescoroutines code
Feb 5Continuations19
Feb 4Thinking about Web Programs15,16; pseudocode from web and text-IO versions
Feb 1Variables and Parameter Passing14
Jan 31Mutating Boxes, contd13; starter file for class; full interpreter with boxes
Jan 29Mutating Boxes12-13
Jan 28Recursion9-10; starter file for class
Jan 25Implementing Laziness8; starter file for class
Jan 24More Haskell
Jan 22Closures; Intro to Haskell7; also see additional Haskell notes
Jan 21First-Class Functions6
Jan 18Delayed Substitution5
Jan 17Functions4
Jan 15Substitution3
Jan 14snow cancellation 
Jan 11Basic Interpreters2
Jan 10Overview; Modeling Languages1 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