National University




CSC430 Programming Languages

Lead Faculty: Dr. Alireza Moztarebi Farahani

Course Description

A comparative study of programming languages. Syntax, semantics and pragmatics are considered. Language features that support software engineering are emphasized. Recent trends in programming language design and type theories are studied.

Learning Outcomes

  • Describe historical perspective on programming languages, from 1950's to the present.
  • Critically evaluate the suitability of a programming language for a specific task.
  • Explain formal language theory and automata.
  • Explain formal methods of programming language syntax and semantics.
  • Describe fundamental programming language elements (data abstraction, control structures, expressions, exception handling)
  • Explain issues related to variable binding, scope, and parameter passing.
  • Describe major programming language paradigms (procedural, object-oriented, functional, logic, concurrent).

Prerequisite