CS522  Programming Language Semantics (Spring 2008)
From FSL
Students enrolled in this class are expected to check this web page regularly. Lecture notes and important other material will be posted here.
Course Description
CS522 is an advanced course on semantics of programming languages. Various semantic approaches and related aspects will be defined and investigated. Executable semantics of various programming languages and paradigms will be discussed, together with major theoretical models.
 Meetings: W/F 12:30  1:45, 1131 Siebel Center
 Professor: Grigore Rosu (Office: SC 2110, WWW: http://cs.uiuc.edu/grosu, Email: grosu@cs.uiuc.edu)
 Office hours: by appointment, very flexible (held by Grigore Rosu in SC 2110)
Newsgroup
news://news.cs.uiuc.edu/class.cs522
Lecture Notes, Useful Material
The links below provide you with useful material for this class, including complete lecture notes. These materials will be added by need.

 HW1, due Feb 27, midnight: Exercises 5 (page 24), 9 (page 36), 11 (page 37), 12 (page 66), and 13 (page 68) in the lecture notes above.
 HW2, due March 5, midnight: Proposition 1 (page 9), Exercise 4 (page 11), Proposition 4(page 17), Exercise 5 (page 21), Exercise 6 (page 22), Exercise 9 (page 32), Proposition 8 (page 34) in the lecture notes above.
 Some Category Theory
 Cartesian Closed Categories as Models for SimplyTyped LambdaCalculus
 HW3, due March 25, midnight, 7 Exercises. Lecture notes on category theory: Exercise 3 (page 13), Exercise 5 (page 17), Exercise 7(page 17), Exercise 8 (page 20). Lecture notes on CCCs: Exrcise 3 (page 18), Exercise 5 (page 21), Exercise 6 (page 21).
 Recursion
 Polymorphism
 HW4, due April 30, midnight, 9 problems. Lecture notes on recursion: Proposition 1 (page 39), Theorem on page 44 (proof sketch showing the main ideas is OK), Proposition 4 (page 47), Theorem on page 68 (proof sketch OK). Lecture notes on polymorphism: Proposition 2 (page 11), Exercise 14 (page 27), Proposition 5 (page 40), Proposition 6 (page 62), Exercise 21 (page 68).
 Concurrency  this is huge, the parts related to concurrency are: CCS and Picalculus (pages 2835), and the KCHALLENGE language in Chapter 6.
 Final Exam