Presents examples of important programming languages and paradigms such as LISP, ALGOL, ADA , ML, Prolog, and C++. Students write sample programs in some of the languages studied. The languages are used to illustrate programming language constructs such as binding, binding times, data types and implementation, operations (assignment data-type creation, pattern matching), data control, storage management, parameter passing, and operating environment. The suitability of these various languages for particular programming tasks is also covered.
Prerequisite
C or higher: CSE 216 or CSE 219 or CSE 260; CSE 220; CSE major.
Course Outcomes
An ability to program in different language paradigms and evaluate their relative benefits.
Knowledge of, and ability to use, language features used in current programming languages.
An understanding of the key concepts in the implementation of common features of programming languages.
Working knowledge of the major phases of implementing a programming language.
Textbook
Scott, Michael L., Programming Language Pragmatics (3rd ed.), Morgan Kaufmann, 2009, ISBN-10: 0123745144.