CSC713: Advanced Programming languages 6 credits (40-10-10)

Objectives

To expose students to the various types of programming languages. The concepts behind their design and implementation are discussed. Models and corresponding languages are given. Areas of use of the various languages are stressed.

Contents

Concepts of modern programming languages; semantics of programming languages; types and type systems; safety and correctness issues. An overview of various models of computation with example languages: the imperative model with C or Pascal language; functional model and example language such as Haskell or ML; Logic-oriented model with example language Prolog; Object-oriented model with example language Java or Smalltalk; Distributed parallel models with example languages such as Erlang and Occam; Hybrid models (eg. Parlog, C++).