3 credits The purpose of the course is to develop an understanding of the organization of programming languages and introduce the formal study of programming language specification and analysis. The topics covered will usually include language definition structure, data types and structures, control structures and data flow, run-time consideration, interpretative languages, lexical analysis, and parsing.