Fundamental principles of programming language design, syntax, semantics, paradigms (functional, logic, structured, and object-based), and implementation. Concepts include programming language constructs such as binding, binding times, data types and implementation, operations (assignment data-type creation, pattern matching), data control, storage management, parameter passing, and operating environment. (This course will enter the rotation when enrollment in the major is sufficient to support.)
Prerequisites
Semester Offered
Fall