Official Syllabus
Home Official Syllabus Actual Syllabus Related Courses Policies

 

The syllabus below is the one initially proposed by the Undergraduate Committee when CS 456 was created.  It was written by Jens Palsberg with input from Tony Hosking.

This syllabus is given here only as a reference.  The actual offering of CS 456 varies from this description.  In particular, the textbook has been changed to the one by Sethi and the list of topics follows that textbook.  See the Actual Syllabus for specifics.

Title: Programming Languages

Prerequisite: CS 352

Corequisite: none

Catalog Description

Concepts for structuring data, computation, and whole programs. Object-oriented languages, functional languages, and logic and rule-based languages. Data types, type checking, exception handling, concurrent processes, synchronization, modularity, encapsulation, interfaces, separate compilation, inheritance, polymorphism, dynamic binding, subtyping, overloading, beta-reduction, unification.

List of Topics (By Week)

  1. Introduction.
  2. Syntax and semantics.
  3. Syntax and semantics.
  4. Structuring the data.
  5. Structuring the data.
  6. Structuring the computation.
  7. Structuring the computation.
  8. Structuring the program.
  9. Structuring the program.
  10. Object-oriented languages.
  11. Object-oriented languages.
  12. Functional programming languages.
  13. Functional programming languages.
  14. Logic and rule-based languages.
  15. Logic and rule-based languages.

Suggested Text Book

Carlo Ghezzi and Mehdi Jazayeri.
Programming Language Concepts, Third Edition.
John Wiley & Sons, 1998.
ISBN 0-471-10426-4.

Participants in this Revision

[Jens Palsberg] consulted with Tony Hosking and with Amer Diwan, Stanford.