CSc 520 Principles of Programming Languages
defines, analyzes and evaluates important concepts found in current
programming languages. Its goals are to build an ability to evaluate
and compare programming languages, both from the user's and
implementor's view, and to develop precise mechanisms for specifying
the semantics of programming languages.
The class page for 2011 is here.
Lecture notes can be found here.
- scope of objects and time of binding
- module mechanisms (e.g., blocks, procedures, coroutines)
- data abstraction, datatypes
- control structures
- storage management and runtime support
- operational, denotational, and axiomatic semantic specification;
- applicative and object-oriented languages