CSC 345. Programming Language Concepts/Paradigms. 3 Credits.

An examination of the conceptual underpinning of programming languages and of the paradigms into which they fall. Topics will be drawn from those comprising the field of programming language such as abstraction, bindings, concurrency, design, encapsulation, history, representation, storage, and types. Programming projects will focus on languages within the functional, declarative, and object-oriented paradigms: such as Common Lisp, ML, Prolog, CLOS ; rather than the familiar imperative paradigm.
Pre / Co requisites: CSC 345 requires a prerequisite of CSC 220 and CSC 241.
Typically offered in Fall.