CS 142 Course Information


Lectures are Mondays, Wednesdays, and Fridays from 11:00-11:50 in Building 420, Room 40. Lecture notes are available in advance and provide an outline for much of the material that will be presented in class; I recommend that you print out the notes and bring them to class so you can mark them up with additional notes during lecture.

Additional Materials

There is no required textbook for this class, and I am not aware of a book that is a perfect match to the lecture material. The content of the course is defined by the lectures. You will need additional reference material to complete the programming projects, but this material is available on the Web. One good online source for reference documentation on HTML, CSS, and the DOM is http://w3schools.com/. This site should have enough material for CS 142, but it is not quite comprehensive. If you want to know everything about HTML standards, the best source is Dynamic HTML: The Definitive Reference, Third Edition, by Danny Goodman (O'Reilly Media).

You will learn two new languages in this class, Ruby and Javascript. The lectures will provide an introduction, but for more complete information I recommend the following two books:

These books are well-written and comprehensive, and they are available online free to Stanford students through Safari Books Online. For additional material on the Rails framework I recommend two resources:

Relevant readings in the above books are listed at the beginning of the lecture notes for each topic.

Discussion Sections

The class will have three weekly discussion sections led by the course assistants. The sections will supplement lecture with additional examples, and they will also cover additional material for the projects. The sections will meet on the Friday, Monday, and Tuesday immediately preceding each project deadline (e.g. the Monday and Tuesday sections will not meet during the first week). All of the sections will cover the same material; you are welcome to attend any or all of them.


Collaboration on Projects

We encourage you to discuss the projects with other students; both giving and receiving advice will help you to learn. It's fine to discuss overall strategy, share tips about Web technologies (useful CSS styles, library methods, etc.), and give and receive debugging assistance. However, you must write your own code: it's not OK to share code or write code collaboratively. The projects are intended to be simple enough for each person to implement all of every project.


The class will have a midterm exam during the sixth week (May 7-11) and a final examination during exams week. For people who have conflicts with the official time for the final examination (June 13, 8:30-11:30), there will be an alternate exam sometime on June 12 (time to be determined). You may bring two double-sided 8.5x11" pages of notes with you to the midterm and three double-sided pages to the final exam; other than that, exams are closed-book.


We sometimes make mistakes in grading, both on projects and exams, and are happy to correct these if you point out the error. To request a regrade, post a private question on Piazza and we will respond as quickly as possible. For regrade requests related to exams, the initials of the person who graded each question appear under the score for that question on the cover page; please include that person's name in your Piazza posting to help us route the request to the right person. Regrade requests must be submitted within 7 days after we send out the grades for a project or exam.

Regrade requests should focus on errors (i.e., something we thought was wrong actually was right, or you believe we misunderstood your work). There may be situations where you agree you made an error but disagree about the number of points deducted; unfortunately, we are unlikely to change your score in these situations, because it would require a change in the grading rubric and thus require us to re-grade all of the projects or exams.

Grading Policy

Grades for the class will be determined based on a 100-point total score computed as follows:


Students with Documented Disabilities

Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Student Disability Resource Center (SDRC) located within the Office of Accessible Education (OAE). SDRC staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the SDRC as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 723-1066).