CSC407: Programming Language Paradigms 6 credits (45-15-0)

Objectives

The objectives of this course are to present central concepts in modern programming languages, impact on software development, language design trade-offs, and implementation considerations.

Contents

Functional, imperative, and object-oriented paradigms. Formal semantic methods and program analysis. Modern type systems, higher order functions and closures, exceptions and continuations. Modularity, object-oriented languages, and concurrency. Runtime support for language features, interoperability, and security issues.

Prerequisite:

CSC207 or CSC208