Difference between revisions of "CS522 - Programming Language Semantics (Fall 2018)"
(→Lecture Notes, Useful Material) |
|||
Line 61: | Line 61: | ||
! style="background:#ccddcc;" align="left" | '''''<font color=red>HW5 (due Monday, November 12)</font>''''' [[Image:downarrow.png]] | ! style="background:#ccddcc;" align="left" | '''''<font color=red>HW5 (due Monday, November 12)</font>''''' [[Image:downarrow.png]] | ||
|- | |- | ||
− | | This is a theoretical HW, requiring you to do three proofs using category theory. You are strongly encouraged to do *all* the exercises in the slides, especially if you did not have prior experience with category theory. However, for his HW, only handle the following three exercises: (1, easy) Exercise 8 on slide 20 in the {{pdf|CS522-Fall-2018-Category-Theory-slides.pdf|category theory slides}}; (2, easy) Property 1 on slide 3 in the {{zip|CS522-Fall-2018-HandWritten-Category-Theory.zip|hand written notes on category theory properties}}; and (3, harder) Lemma on slide 3 in the {{zip|CS522-Fall-2018-HandWritten-CCC-untyped-lambda.zip|hand written notes on CCC models of untyped lambda calculus}}. | + | | This is a theoretical HW, requiring you to do three proofs using category theory. You are strongly encouraged to do *all* the exercises in the slides, especially if you did not have prior experience with category theory. However, for his HW, only handle the following three exercises: (1, easy) Exercise 8 on slide 20 in the {{pdf|CS522-Fall-2018-Category-Theory-slides.pdf|category theory slides}}; (2, easy) Property 1 on slide 3 (`category theory - 3.png`) in the {{zip|CS522-Fall-2018-HandWritten-Category-Theory.zip|hand written notes on category theory properties}}; and (3, harder) Lemma on slide 3 in the {{zip|CS522-Fall-2018-HandWritten-CCC-untyped-lambda.zip|hand written notes on CCC models of untyped lambda calculus}}. |
|} | |} | ||
Revision as of 05:23, 6 November 2018
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: Tu/Th 9:30 - 10:45, 1103 Siebel Center
- Professor: Grigore Rosu (Office: SC 2110, WWW: http://fsl.cs.illinois.edu/grosu, Email: grosu@illinois.edu)
- Office hours: By appointment, very flexible (held by Grigore Rosu in SC 2110)
Piazza Page
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 and more topics will be added.
- Conventional Semantic Approaches
-
Slides (PDF)
Slides (PPTX)
(incomplete)
-
Book material on IMP, Big-Step SOS, Small-Step SOS, and Denotational Semantics
- Rewriting Logic and Maude
-
slides
- recommended only for a quick look
-
Book material
- recommended
-
-
HW1 (due Tuesday, September 18) ![]() |
---|
The following exercises are from the book material above. Do them only in Maude (that is, not on paper) by modifying ![]() ![]() In case you are not familiar with Maude, you are encouraged to do the following exercises to warm-up (but please do not include them as part of your HW1 submission): Exercise 30; Exercise 32; Exercise 33; Exercise 35; Exercise 36. All at pages 80/81. |
HW2 (due Wednesday, October 3 - easy HW, so earlier submission possible and appreciated) ![]() |
---|
The following exercises related to denotational semantics are from the book material above: Exercises 80, 81, 82 ((page 168; write these up on paper, or in a PDF); Exercise 83 (page 169; do it only in Maude (that is, not on paper) by modifying ![]() ![]() |
HW3 (due Monday, October 15) ![]() |
---|
Combine all the individual extensions of IMP in ![]() ![]() |
HW4 (due Monday, October 29) ![]() |
---|
Same as HW3 but for the three additional semantic approaches discussed in the lecture notes above: MSOS, RSEC, and CHAM. Use ![]() ![]() |
- Category theory: definition, diagrams, cones and limits, exponentials
- Lambda Calculus and Combinatory Logic
HW5 (due Monday, November 12) ![]() |
---|
This is a theoretical HW, requiring you to do three proofs using category theory. You are strongly encouraged to do *all* the exercises in the slides, especially if you did not have prior experience with category theory. However, for his HW, only handle the following three exercises: (1, easy) Exercise 8 on slide 20 in the ![]() ![]() ![]() ![]() ![]() ![]() |
- Simply-Typed Lambda Calculus
- Recursion, Types, Polymorphism
- Recursion and Types.
- Polymorphism.