Please note: Offering a joint course like this presents an
exceptional opportunity for both Berkeley and Stanford, but it is
logistically complicated, and requires effort and commitment on the part
of the students as well as the instructors. Thanks for your help in
making it happen.
- What are the prerequisites?
Strong grounding in at least some of the following: systems/distributed
systems, architecture, software engineering, theory (including
compilers, languages, etc), HCI/design.
- What readings/textbook?
No textbook; readings from the conference/journal literature and
scientific press, focusing on why/how systems fail and approaches to
dealing with it. This will include "traditional" fault
tolerance, design-for-correctness, design-for-recovery, accounting for
the role of human error and the influence of the human interface, and
- Berkeley's semester calendar doesn't match up with Stanford's
Correct. The course will be run (this time) on Berkeley's
calendar. We will start on either Aug. 30 or Sep. 6 (to be
announced the week of 8/20). Note that Stanford students
register for 4 units, reflecting the additional time commitment.
- How important is attendance and participation in the discussion?
Since the course meets only once a week, attendance and
participation are very important. Discuss exceptions with
one of the instructors.
- Can I register for fewer units (or pass/fail, or whatever) and only attend
during Stanford's quarter?
- Is the project a required part of the course? Can I take
the course for fewer units without a project?
The project is integral to the course and all students must
complete a project. See the specific project
requirements for more details.
- Are auditors/spectators allowed?
If you want to attend one or two sessions as a spectator and
participant, email Dave or Armando to let them know; if you want to attend more than a
few sessions, you must register for credit. Non-credit
attendees will be accommodated on the bus on a space-available basis