CSE 230 Homepage
Principles of Programming Languages
Winter 1999


Some history and comparison of languages. Regular expressions; abstract and concrete syntax; Post systems; Peano, structural, and well founded induction. Algebraic semantics and term rewriting; program specification and verification. Unification and logic programming; lambda calculus, combinators, polymorphism; denotational semantics.

Note: This course will differ from previous versions, in having a greater emphasis on formal methods, including specification, semantics, and verification; there will also be a little on social aspects. This is not a programming class; the focus is on understanding what langauges are, how they are used, what they mean, and how and why they differ, rather than on merely learning to program in one or more new languages.
Tuesday, Thursday 2:20pm-3:40pm, Room WLH 2113.
Section A00, ID 329295

Required Books Both books should be available at the UCSD bookstore, and also should be on reserve at the Science and Engineering Library. You should always bring both books to class, because I will not always copy things in the books onto the board during the lecture.
Additional Information

  1. Reading assignments
  2. Homework assignments
  3. Some notes on readings
Be sure to reload these pages frequently, because they are sometimes updated frequently.

Grades will be determined as follows: 40% for the final, 25% for the midterm, and 35% for the homework. The grader for this course is Grigore Rosu. The midterm was on 11 February 1999, the final was on 16 March 1999, and both of these are now online.

Prerequesites for this class are CSE 130, CSE 100, CSE 20, CSE 12, and one of the basic programming courses. If you are not thoroughly familiar with the discrete mathematics taught in CSE 20, you really should not be in this class; if you need a review, a good CSE 20 textbook is Discrete Mathematics with Applications, by Susanna Epp (Brooks/Cole 1995).

If you are not a CSE student, you can email csehelp@cs.ucsd.edu to request a CSE student account.

If you find bugs in either of the textbooks, please send me email; I would like to put a comprehensive bug list on the web.

The midterm and its OBJ code are online at mid99.ps.gz and obj/mid99.obj.html. The final is online at fin99.ps.gz. See also the Preliminary Essay on Programming Linguistics and the An OBJ3 Survival Guide.

To courses homepage
Maintained by Joseph Goguen
Last modified 18 March 1999