Lectures are Mondays, Wednesdays, and Fridays from 11:30-12:20 in 300-300. 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. You can also cut and paste from the Web pages into programs such as Microsoft Word, and then annotate the copy with additional information.
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.
There is no required textbook for this class: the material of the course is defined by the lectures and does not exactly correspond to any existing book. However, I recommend the following book if you would like an additional source of material to supplement lectures:
Each page of lecture notes lists related readings in this book at the front of the notes page. Most students find that the material from lecture is sufficient for their course needs, so I recommend that you start the course without the book and only purchase the book if you are having difficulties understanding the lectures.
The class will have two discussion sections that meet four times over the course of the quarter, once for each project. The purpose of the sections is to introduce the projects and provide additional material that may be relevant as you work through the projects. See the projects page for the times and locations for the sections. The sections for each project will cover the same material, but they will be taught by different CAs so there may be some differences in presentation or style; you can attend either section or both.
The class includes four programming projects based on the Pintos operating system, plus one problem set. The Pintos projects involve a significant amount of work (as much as 10-20 hours per week, according to students who have taken the class), so it's best to take CS 140 in a quarter where your other course load is lighter than normal. You must work on the Pintos projects in teams of two or three. It's very important to find team members that you can work well with; if you can't find a good team to join, you may be better off waiting to take the course at a later time.
Each student is allowed a total of 3 late days for this class, which may be spent in units of one day (24 hours) on any project(s) throughout the quarter. Once your late days have been used up, late work will not receive any credit. Late days are intended to handle all issues, including unexpected problems such as illness. Note: most students find Project 3 to be particularly difficult; don't use up all your late days before this project!
The class will have a midterm exam during the sixth week (May 6-10) and a final examination during exams week. You may bring two double-sided 8.5x11" pages of notes with you to the midterm and three double-side pages of notes 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 for a project, post a private question on Piazza 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 an exam, take a picture of the answer in question, and include it in a private question on Piazza along with the name of the person who graded the question (their initials appear under the score for that question on the cover page). 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 we misunderstood your work). There may be situations where 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.
Grades for the class will be determined based on a 100-point total score computed as follows:
Problem Set | 5 | points |
Projects | 50 | points |
Midterm | 15 | points |
Final | 30 | points |
Total | 100 | points |
As in all Stanford classes, you are expected to follow the Stanford Honor Code. For example, the following activities are prohibited and will be treated as Honor Code violations (this is not intended to be a complete list of Honor Code violations):
You are allowed to discuss general approaches and issues with other students in the class besides your team members. It's also fine to give other students help finding bugs if they are stuck, or to answer general questions, such as "what is the meaning of this bit in a page table entry?" But, any code you write must be written by you and your team members, from scratch, without consulting existing solutions. We reserve the right to use computer software such as MOSS to analyze material that you submit in order to detect duplication with other students or existing solutions.
A general way to think about this is that if a particular activity significantly short-circuits the learning process (it saves you time but reduces the amount you learn and/or figure out on your own), or if it misrepresents your capabilities or accomplishments, then it is probably an Honor Code violation.
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).