CSC345 Programming Language Concepts and Paradigms
3 Credit Hours
Instructor: Dr. Richard Wyatt, Associate Professor of Computer Science
Papers by: Paul Graham, C A R Hoare, Paul Hadak and Mark Jones, John Backus, Dana Scott.
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, logic, and object-oriented paradigms — such as Common Lisp, ML, Prolog, CLOS — rather than the familiar imperative paradigm.
Prerequisite: CSC 220 (Foundations of Computer Science) and CSC 241 (Data Structures & Algorithms).
Course addresses Student Outcomes (a), (b), (c), and (i).