A comparative study of programming languages and paradigms. This survey will include block-structured, procedural, functional, object-oriented, and declarative programming languages. Formal language specification and processing including Backus-Naur-Form, lexical analysis, and parsing. Prerequisite(s); if any: CSC 102.