CMSC 32001: Topics in Programming Languages (Denotational Semantics and Domain Theory)

Spring Quarter, 2008 
MWF, 4:30 pm - 5:20 pm
Ryerson 276


Index

Announcements
Instructor Contact Info
Course Description
Course Textbooks
Course Policies
Handouts
Additional Useful Links


Announcements/Updates

The first class will be on Monday, March. 31, 2008 at 4:30pm in Ry 277. We may be able to negotiate an alternate meeting time.

Instructor Contact Info

Name Role Office Office hours Phone Email
David MacQueen Professor Hinds B-045 By appointment 2-4980 dbm@cs.uchicago.edu

Course Description

Denotational semantics is a technique for formally defining the semantics of programming languages. It combines a descriptive notation (originally due to Strachey) based on typed lambda-calculus and an elegant and rigorous theory for assigning mathematical meaning to this notation, namely the theory of domains (due to Scott). Although operational techniques are currently more popular for formalizing programming concepts and constructs, denotational techniques and their related theory still play an important role in programming language research. For instance, important concepts like continuations and monads were first studied in denotational semantics. In developing the underlying mathematical theory of domains, we will introduce and employ basic concepts from category theory.

The Programming Language course (CMSC 22100/32100) or equivalent would provide a good background. Also, familiarity with the basic theory of partially ordered sets is expected.

Course Textbook

The main textbook for the course is Semantics of Programming Languages by Carl Gunter. We will also be using Gordon Plotkin's Pisa notes on Domains as a secondary text on Domain Theory.

Other textbooks that are useful for background material or further study include:

Course Policies

Handouts

Here are links to PDF files of class handouts. (none so far)

Papers and Presentations

Additional Useful Links


Dave MacQueen
Last modified: Tue Apr 8 13:09:34 CDT 2008