The University of Arizona

Courses

CS 372: Comparative Programming Languages


Objective
  • Expose students to a broad range of programming language concepts via study of several programming languages.
Pre-Conditions
  • [CS127b/CS227] Proficiency in a high-level language
  • [CS127b/CS227] Recursion
  • [CS127b/CS227] Knowledge of simple data structures such as linked lists, binary trees, and hash tables
Post-Conditions
(Topics)
Programming language concepts are grouped according to programming language:
  • Syntax descriptions (EBNF or syntax diagrams)
  • C++ or Java
    Brief overview; comparison/contrast with 127b/227 language.
  • APL
    Vectors; functional programming;
  • LISP
    Lists; Interpretation; Garbage Collection; Higher-order functions
  • ML
    Type inference; patterns; Composition, curried forms, and partially applied functions
  • Icon
    Run-time type checking, Expression failure and generative expressions, Polymorphic operations, High-level types, String scanning
  • Prolog
    Logic programming, Computation vs. theorem proving, Unification, Backtracking



Last revised on 27 February 1997 by John Hartman