AI 370 Concepts of Programming Languages

This course examines the fundamental concepts underlying modern programming languages. Topics include programming paradigms (imperative, object-oriented, functional, and logic), syntax and semantics, data types and type systems, scope and binding, control structures, abstraction mechanisms, memory management, and runtime environments. Through comparative study of multiple languages, students develop the ability to evaluate language design choices and understand how these choices affect program correctness, performance, and maintainability.