This course is a study of several modern programming languages and the programming paradigm that each language strives to accommodate. Logic programming is studied with Prolog.
Icon is studied to provide an alterative perspective on traditional procedural programming.
For each language we will study data types, control structures, syntax and semantics, idiomatic constructs, translation into executable units, and the run-time environment. In some cases we will go behind the scenes to examine implementation of language elements. An emphasis of the course will be to understand the design philosophy of each language and how that philosophy is exhibited in the elements of the language.