Computer Science 164: Fall 2002

Compilers and Programming Languages

Prof. Richard Fateman


If you havenít been reading the newsgroup, go to it right now. Thatís where all the action is.Keeping this page up to date is not as easy as I thought it would be.




Old exams are now posted in the Midterms and Exams section of the web page.


IMPORTANT: Section 103 (9-10 AM Tuesday) has been cancelled. If you were enrolled in that section, you will need to switch into another section.We apologize for the inconvenience, but we donít have enough TA hours available to cover six sections now, so we unfortunately have to eliminate the section with the lowest enrollment and attendance.


Abe has left us to go TA for CS 169 instead, so we have a new TA, Shoaib Kamil.The assignment of TAs to sections has changed slightly; see the table below for more information.


Sketch of Solution to programming assignment 1 is posted.

Programming assignment 2 is posted (will be handed out on 9/5).


Webcasting:sorry, we canít do it (costs too much).


Substantial extra reading material: my notes on the chapters in Appelís text are now in the handout directory.


Written assignment 1is due Sept 10 after class.


Sept. 9:Written Assignment 1, due Tuesday Sept 10 5pm is posted.


August 28: Section 106 meeting location is 405 Davis.



No DISCUSSION SECTION MEETINGS THE FIRST WEEK. We will get you started at the first lectures, Tuesday afternoon.


Make sure you know where the class meets!!!160 KROEBER HALL(we moved it from our earlier assigned classroom which had no video projector!)

Course description:

CS 164 is designed to acquaint students with the design and implementation of high-level programming languages. The course consists of a theoretical component, which stresses general underlying concepts, and a practical component, which consists of a significant course project. Projects will be written in ANSI Common Lisp.

You can read the (current draft) of the first day handout (pdf)

Course prerequisites:

CS 61A, CS 61B, and CS 61C or equivalent. This means you know Scheme and also Java or C/C++.



Modern Compiler Implementation in Java, A.W. Appel

ANSI Common Lisp, Paul Graham

Possibly useful

Compilers, Principles, Techniques and Tools, .A. Aho, R. Sethi, J. Ullman

Copies of the lecture notes will also be made available on the course home page. See the bar to the left.

Home Page and Newsgroup:

The class home page for this semester is All course handouts, answers to frequently asked questions, lecture notes, and updates on assignments will be posted. The class newsgroup is ucb.class.cs164. It should be accessible from any Unix machine on campus via any browser or any newsreader (such as `rn' or `tin'). Please check the home page and newsgroup regularly for important course information. Although we will attempt to avoid changes to assignments, there may be occasional corrections, and there will certainly be hints. These will appear first in the newsgroup.


Administrative Details

(catalog description)

Location: TuTh 330-5P, 160 KROEBER HALL Course Control Number: 26665Units: 4 Final Exam Group: 19

Section Meeting Times and Locations





Teaching Assít


3-4pm / Mon

405 Davis



4-5pm/ Mon

70 Evans



9-10am/ Tu

3109 Etcheverry



10-11am/ Tu

3111 Etcheverry



11-12pm/ Tu

405 Davis



12-1pm/ Tu

405 Davis // was 310 Hearst Mining



StaffContact Information: Teaching Assistants

Shoaib Kamil

Ryan Stejskal:

- E-mail:

- Office hours: W 1:00-2:30, Th 10:30-12:00, 611 Soda





Last revised by RS10/10/2002 9:38 AM