COMP 4711: Structure of Programming Languages

This course is of interest to those students who wish to pursue the study of design aspects of programming languages.

Prerequisites:  COMP 2003 or the former COMP 3724, and COMP 3602 or the former COMP 3719

Availability: ⚠ This course is not planned to be offered in the near future.

Course Objectives

To develop an understanding of the organization of programming languages and the runtime behaviour of programs and to introduce basic concepts of formal description of programming languages.

Representative Workload
  • Assignments 20%
  • In-class Exams 40%
  • Final Exam 40%
Representative Course Outline
  • Formal specification of syntax
  • Data, domains and domain constructors
  • Storage and assignments
  • Control structures, selection and iteration
  • Binding, environment and scope
  • Procedures and parameters
  • Sequencers and continuations
  • Concurrency
  • Types and type checking, type constructors
  • Introduction to denotational semantics

Page last updated May 24th 2021