Home Announce Handouts Slides Reading People Office Hours

Collaboration Policy Statement

Under the Honor Code at Stanford, each of you is expected to submit your own work in this course. On many occasions, it is useful to ask others (a TA, the instructor, or other students) for hints and debugging help, or to talk generally about problem-solving strategies and presentation. Such activity is both acceptable and encouraged, but you must indicate on your assignments any assistance you received. Any assistance received that is not given proper citation may be considered a violation of the Honor Code. In any event, you are responsible for understanding and being able to explain all of the statements in your homework and exam solutions.

Course Information and Policies

Email Policy:

Questions about lectures, homework and course organization may be sent to the course email address, cs242@cs.stanford.edu. This mailbox will be read by the course staff on a regular schedule. Due to the course size, we cannot guarantee an immediate response. When a number of questions are similar, a single response may be sent to the bboard. If a point is more easily explained in person, we may suggest you come to office hours.


The prerequisites for the course, as listed in the catalog, are "CS 107, or similar experience with Lisp, C and Smalltalk, or similar languages." This is not a course on how to write simple programs in different languages. You should be familiar enough with one functional language such as Lisp, Scheme or ML, one conventional language such as C or Pascal, and one object-oriented language such as Smalltalk, C++ or Java, to be able to compare different languages. About 60% of the class will have taken a course on compilers.


A printed textbook is on order from Cambridge University Press. Reading material will be handed out in class or put on the web until the textbook arrives. If the textbook is delayed beyond mid-October, a course reader will be printed.

Handout Hangout:

Handouts and graded homeworks that are not picked up during class will be available from the "Handout Hangout." This is a file cabinet on the fourth floor of Gates, at the entrance to the B Wing of the building. One of the drawers of the file cabinet is marked "CS242"


You may find it useful to have an ML compiler and a C++ compiler. You may also want to compile and run Java programs. However, there will not be any homework assignments that require you to run a program and turn in the results.

Further information about Stanford computing resources may be found on the CS242 web site.

Course Work and Exams:

Homework will be assigned each Tuesday and due the following Tuesday. Late homework will be accepted only by prior arrangement. Homework is due in class and may be turned in up to 5PM on Tuesday.


The midterm is  Thursday, November 7, 7-9 PM

The final exam is 3:30-6:30 PM on Thursday, December 12

If you have a conflict with either exam, you must let us know before the end of the second week of class.

Homework Submission

Homeworks must be handed in by 5pm on the day they are due. You can drop them off in the CS242 hw submission box near the handout hangout (Gates 4th floor, B-wing) or hand them in during class.

Please do not submit homeworks through email.

If you are an SCPD student, and you submit homeworks with a routing slip, those homeworks will be returned to you through SCPD. If you do not use a routing slip (for example, by turning it in through e-mail or by coming to class and handing it in), then the homeworks will be available in class for pick-up, or after that, in the handout hangout on the fourth floor of Gates. The routing slip tells us that you want it sent to your site.

For submissions by courier, please make sure that you drop off the solutions before the collection time at your site on Tuesday. We should receive the courier no later than Wednesday evening.

Homeworks may be faxed to SCPD at (650) 736-1266 by 5PM the day it is due. We will return graded HW by courier. We prefer fax submissions to email.

Homework Regrade Policy

After you receive your graded homework and the sample solutions, you may believe that we made an error in grading your homework. If so, and if you feel the error is significant enough to merit additional attention, you may submit your graded homework with a written request for reconsideration. You must explain clearly and succinctly how you believe that we made a mistake. When a member of the course staff regrades a problem, our goal will be to see if we applied our criteria correctly to the homework paper in question. In fairness to all students, we will not reexamine the systematic grading criteria we applied to the problem set. Please be courteous to the course staff and bear in mind that a few points difference on a few homework solutions should not change your final letter grade in the course.

SCPD students:

Local students must come to campus for the midterm and final exam.


The newsgroup su.class.cs242 is for class discussions. It is recommended that you read this newsgroup, but it is not required. Important information from the newsgroup will also be posted to the web site.

Participation in Televised Courses

This course is being televised and taped as part of the Stanford Center for Professional Development, and may be viewed by other class participants or in other educational settings. As such, there may be times that you will briefly appear on camera, or that your comments will be incorporated into the audio. If you do not wish to appear on camera, please discuss this with Mike Rouan at SCPD (725-3005; mailto:na.mxr@forsythe.stanford.edu) before the next class session; otherwise it will be understood that you have given your consent to appear on camera.