CS322 PRINCIPLES OF PROGRAMMING LANGUAGES (4
Cr.)
COURSE DESCRIPTION
Prerequisites:
MA240, CS222, CS330
(concurrent enrollment in CS330 permitted) or permission of instructor.
Offered: Fall
This course will survey the concepts and characteristics that are currently employed in
modern programming languages. These include assignment effects, procedure
activations, scope rules, type systems for conventional imperative programming languages,
and data encapsulation and inheritance in the object-oriented paradigm. This course
will also cover concurrent and non-imperative languages (i.e., functional and logic).
The implementation of high-level languages will be examined, including the major
components of modern compilers (e.g., lexical analyzers, parsers, and machine code
generation), compiler theory (e.g., push-down automata and formal grammars), and
translator-based language design issues (e.g., compilers versus interpreters, single-pass
versus multi-pass compilers).
|






|