CS 311 Principles of Programming Languages (3H:0L:3C)
Prerequisites: CS 213
This course covers the fundamental concepts of programming language design and implementation. Topics include: language paradigms; syntax and semantics; names, binding, allocation, data structures, data types; scopes; control structures, data flow; concurrency; exception handling; subprograms; comparison of imperative, functional, logical, and object-oriented programming languages.