-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
38 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
layout: default | ||
title: CS422 - Programming Language Design (Fall 2024) | ||
--- | ||
|
||
# CS422 - Programming Language Design (Fall 2024) | ||
|
||
Students enrolled in this class are expected to check this web page regularly. | ||
Complete lecture notes will be posted here, following the same model as in [CS422 in Fall 2023](https://fsl.cs.illinois.edu/teaching/2023/cs422/). | ||
|
||
## Zoom Link | ||
|
||
We may sometimes meet online on zoom, eg when traveling to professional events: | ||
[https://illinois.zoom.us/j/2172447431?pwd=dEtxWmdJR0FYOElUa1ZLL2RJRzdZUT09](https://illinois.zoom.us/j/2172447431?pwd=dEtxWmdJR0FYOElUa1ZLL2RJRzdZUT09) | ||
|
||
### Lecture Recordings | ||
|
||
When we meet online, we will record the lectures and post the links here: | ||
|
||
... nothing yet | ||
|
||
## Course Description | ||
|
||
CS422 is an advanced course on principles of programming language design. Major semantic approaches to programming languages will be discussed, such as structural operational semantics (various kinds), denotational semantics, and rewriting-based semantics. Programming language paradigms will be investigated and rigorously defined, including: imperative, functional, object-oriented, and logic programming languages; parameter binding and evaluation strategies; type checking and type inference; concurrency. Since the definitional framework used in this class will be executable, interpreters for the designed languages will be obtained for free. Software analysis tools reasoning about programs in these languages will also arise naturally. Major theoretical models will be discussed. | ||
|
||
- Meetings: Tu/Th 12:30-13:45, Siebel 1214 | ||
- Credit: 3 or 4 credits | ||
- Professor: [Grigore Rosu]({{site.baseurl}}/people/grigore-rosu/index.html) (Office: SC 2110) | ||
- Office hours: Held by Grigore Rosu on Zoom or in SC 2110; by appointment. | ||
|
||
## 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. | ||
|
||
- ***Introduction.*** [Slides]({{site.baseurl}}/assets/CS422-Fall-2024-01.pdf) | ||
- ***Structural Operational Semantics.*** [Slides]({{site.baseurl}}/assets/CS422-Fall-2024-02-Conventional-Executable-Semantics.pdf) | ||
- Book lecture notes on the IMP language, big-step SOS, and small-step SOS (you can skip the rewriting logic and Maude parts; comments welcome!): [IMP-BigStep-SmallStep]({{site.baseurl}}/assets/CS422-Fall-2024-02a-IMP-BigStep-SmallStep.pdf) | ||
|