Principles of language design, abstraction, syntax and parsing, operational semantics (declaration, allocation, evaluation, run-time environment, typing, and activation), and programming language paradigms (procedural, object- oriented, functional, and logic programming). Prerequisites: AUCSC 112, or AUCSC 211 (2024) and AUSCI 235 (2024); and AUCSC 250 and AUMAT 250.