CS 331. Principles of Programming Languages
A study of the fundamental principles around which programming languages are designed. Topics include language specifications, syntax and semantics, data types, control statements, support for abstraction, and program organization. Students will be exposed to issues involving compilation, interpretation, lexical analysis, and parsing as well as to languages in each of the major paradigms. The course includes three lecture hours per week.