CS350/651 COURSE OUTLINE

1  Programming Languages

  1. Definition and use
  2. Evolution
  3. Issues and perspective of the course

2  Syntax

  1. Arithmetic Expressions
  2. Evaluation Trees
  3. Grammars
  4. Parsing

3  Main Features of Programming Languages

  1. Overall structure
  2. Variables
    1. declarations - scope - lifetime - value - type
    2. concepts of bindings

  3. Data Types
    1. builtin types
    2. user-defined types
    3. issues associated with types - typing mechanisms
    4. type inference

  4. Control Structures
    1. statement-level control structures
      1. sequencing
      2. iteration
      3. selection

    2. unit-level control structures
      1. procedures
      2. parameter passing mechanisms
      3. block-structure
      4. exception handling mechanisms


4  Semantic Modeling (Notes)

  1. Semantic Models
    1. contour model
    2. denotational model

5  Run-Time Support

  1. Storage allocation
    1. variables
    2. stack-based allocation
    3. activation records
    4. display vectors
    5. heap

6  Object-Oriented Programming Languages

  1. Classes and Objects
  2. Templates
  3. Polymorphism
  4. Typing Issues
  5. Dynamic Binding
  6. Implementation of OO Languages

7  Other Paradigms (Concurrent, Functional, Logic)

  1. Communication Processes Model
  2. Ada Model
  3. Lambda calculus (l-calculus -
  4. Features of functional languages
  5. LISP-like, ML
  6. Features of logic programming
  7. PROLOG