King's  Logo

COURSE TITLE: Programming Language Concepts
NAME OF INSTRUCTOR: Dr Andrew Tappenden
CREDIT WEIGHT AND WEEKLY TIME DISTRIBUTION: credits 3(hrs lect 3 - hrs sem 0 - hrs lab 3)
COURSE DESCRIPTION: This course will survey the major types of programming languages. Topics include programming language paradigms (imperative, logic, functional and object-oriented), parameter passing, control structures, data types, typing mechanisms, and binding rules.

Prerequisites: CMPT 370
REQUIRED TEXTS: Friedman  D.  P.  &  Wand  M.  (2008). Essentials  of  Programming  Languages  (3 rd   Edition). Cambridge MA: The MIT Press.
Lecture Assignments30%
Laboratory Assignments15%
Midterm Examination20%
Final Examination35%
COURSE OBJECTIVES: The  course  is  will  provide  students  with  an  analytical  study  of  programming  languages.The goal of the course is to provide:
  • A deep, working understanding of the essential concepts of programming languages,
  • An understanding of the underlying semantics of a given programming language,
  • An understanding of the role of an Interpreter in modern programming language and itsrelation to the compilation process, specifically:
    • Abstract syntax trees,
    • Control transformation,
    • Variable binding resolution,
    • Type checking,
  • An understanding that programming languages are themselves a computer program.
COURSE OUTLINE: Introduction to the Functional Programming Paradigm & Scheme
  • Inductive Sets of Data
  • Data Abstraction
  • Expressions
  • State
  • Types
 Time Permitting, the following additional topics will be covered:
  • Objects & Classes
  • Continuation-Passing Interpreters
  • Continuation-Passing Style

Required texts, assignments, and grade distributions may vary from one offering of this course to the next. Please consult the course instructor for up to date details.

© The King's University
Maintained By Institutional Research