CSC 254
Programming Language Design & Implementation
Design and implementation of programming languages, with an emphasis on imperative languages and on implementation tradeoffs. In-depth examination of 'how programming languages work.' Topics include fundamental language concepts (names, values, types, abstraction, control flow); compilation and interpretation (syntactic and semantic analysis, code generation and optimization); major language paradigms (imperative, object-oriented, functional, logic-based, concurrent). Course projects include assignments in several different languages, with an emphasis on compilation issues.
Topics
- fundamental language concepts (names
- values
- types
- abstraction
- control flow)
- compilation and interpretation (syntactic and semantic analysis
- code generation and optimization)
- major language paradigms (imperative
- object-oriented
- functional
- logic-based
- concurrent)
Topics explicitly listed in official catalogue description
Sources
- Course catalogue ↗2026-2027