CS3111 Principles of Programming Languages

This course is an introduction to the design, evaluation and implementation of programming languages. Imperative, functional, logic, and concurrent programming methodologies are investigated, with an emphasis on practical issues. Tradeoffs in choosing different programming languages for a given task are discussed and principles on which an objective assessment of programming language design can be made are presented.


CS2020 or Consent of Instructor.

Lecture Hours


Lab Hours


Quarter Offered

  • As Required