CS 142 Course Information

Lectures

Lectures are Mondays, Wednesdays, and Fridays from 10:30-11:20 in Bishop Auditorium. 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.

I recommend against using laptop computers during class. Although some people prefer taking notes on a laptop instead of by hand, educational studies have shown that students using laptops tend to learn less effectively than those without laptops: there are too many distractions available on an open computer.

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 Mozilla Developer Network. A comprehensive book is Dynamic HTML: The Definitive Reference, Third Edition, by Danny Goodman (O'Reilly Media), but this describes the Web as of a few years ago, so it doesn't include newer features such as HTML5. It is freely available to Stanford students via Safari Books Online:

The web application we build in the course's projects will use what is known as the MEAN stack. The MEAN stack uses the JavaScript language in both the browser and the server-side. The lectures will provide an introduction to JavaScript, but more complete information can be found on the web and in some books freely available to Stanford students through Safari Books Online.

The class project assignments, lectures and sections will cover what you need to know about the MEAN stack. For additional material recommend starting at the web sites of the different components:

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.

Projects

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.

Please do not post your project solutions on the Web, either during or after the class. Students occasionally do this because they are proud of their class work (some of the work in this class is quite good!), but this makes it easy for future students to copy your work rather than figuring things out for themselves. Posting solutions on the Web is a Stanford Honor Code violation, since it it has the effect of giving improper assistance to other students.

Browsers

Unfortunately, Web browsers are still not 100% identical in their behavior, so Web pages may behave differently on different browsers. For this class, the reference browser is Chrome: your project solutions must work on Chrome, and the CAs will use Chrome to test them. Your solutions need not work on any browser other than Chrome. You may use a different browser to develop your solutions if you wish (Chrome, Firefox, and Safari all have very similar behavior), but please test on Chrome before submitting. We do not recommend that you use Internet Explorer for development: historically, its behavior has been quite different from the other browsers, so things that work on IE may not work on Chrome, and vice versa.

Exams

The class will have a midterm exam and as well as a final examination during exams week. For people who have conflicts with the scheduled time for either examination, there will be an alternate exam shortly before the official time (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.

Regrades

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 for a project, send an email with the subject starting with the string "REGRADE HW" (e.g. "REGRADE HW1" for a regrade request on Project #1) to the course instructor and we will respond as quickly as possible. Regrade requests must be submitted within 5 days after we send out the grades for a project or exam. For regrade requests related to the midterm exam, take your exam to the office hours of the person who graded the particular question. For regrade requests related to the final exam, take a picture of the answer in question, and include it in an email to the instructor with a subject of "REGRADE FINAL". Exam regrade requests must be submitted within 5 days after we make the graded exams available.

Regrade requests should focus on errors (i.e., something we thought was wrong but 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 cannot change your score in these situations, because it would require a change in the grading rubric and thus require us to regrade 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:

Projects55points
Midterm15points
Final30points
Total100points

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).