1 course unit A study of the principles that govern the design and implementation of contemporary programming languages. Topics include lexical properties, compilers, interpreters, data structures, control structures, parameter passage, and run-time environments. Procedural, functional, object oriented, and logic programming languages will be considered. Offered in alternate years. Prerequisite(s): CSI 220 Data Structures & Algorithms.