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