Home

CMPE/CMSE 318 - Principles of Programming Languages

This course explores the fundamental principles underlying programming languages, including their formal specification through syntax, analysis, and semantics. Students will examine the historical evolution of programming paradigms and key concepts such as naming, scope, data representation, and evaluation sequences at various levels. The course covers object-oriented programming with a focus on abstraction, inheritance, polymorphism, concurrency, and exception handling, along with an introduction to alternative paradigms such as functional, logical, and scripting languages. Weekly homework and lab assignments complement lectures, reinforcing theoretical concepts through hands-on practice.