eecs 662: programming languages
The syllabus is available here. The high-level
objectives for this course are that students should be able to:
- Define the abstract syntax of programming languages
- Define the semantics of a programming language over its abstract syntax
- Implement a language interpreter given its abstract syntax and definition
- Distinguish among common characteristics that describe programming languages, such as
functional vs imperative, call-by-value vs call-by-nam.
- Identify the semantics and semantic consequences of computational effects
- Identify the syntax and semantics of programming languages features for modularity
You will need to log in with your KU ID to access homework assignments and solutions.
Introduction and administrivia
Why study programming languages?
Syntax and semantics (informally)
Concrete and abstract syntax
Arithmetic language (syntax)