CS110: Principles of Computer Systems

Announcements

  • Tuesday, January 10, 2012
    Discussion section signup is now available via CourseWork. A direct link to the signup page is here.
  • Thursday, January 5, 2012
    Welcome to CS110! Some logistics for the course:

    Prerequisites

    CS110 formally requires CS107 and either CS103 or CS103B. Practically, the course assumes you have exposure to basic computer architecture material at the level it is presented in CS107. The course involves some systems programming so experience in C with low-level programming (especially pointers and strings) will be helpful.

    Exams

    There will be an in-class midterm exam on Feburary 17th and a final in the normal final exam slot, Thursday, March 22nd at 8:30-11:30 a.m. The final exam will emphasize material not tested on the midterm, although it is technically cumulative and everything is fair game.

    Grading

    The course grading is divided between homework (programming and discussion assignments), one midterm, and a final exam. The approximate grade breakdown is:
    Homework 50%
    Midterm Exam 15%
    Final Exam 35%

    Late Policy

    The class material builds on itself and getting behind is taboo, since it tends to impede progress on the following assignments. Late submissions will be assessed a penalty of 10% per day (24-hour period). Assignments will not be accepted more than five days after the original assignment due date. You get three free "late days" (24-hour periods) that you may use to extend the due dates of any assignment without penalty. Once all your free late days are gone, you can still hand work in late, but with the 10% penalty.

    Honor Code

    Students are expected to follow the letter and spirit of Stanford's Honor Code.

Syllabus

Introduction to Computer Systems
Complexity, abstractions
Modularization, Naming and Layering
Memory, interpreters, communication links
Client-Server Architecture
RPC, indirection, peer to peer
Client-Server within a Machine (Virtualization)
Bounded buffers, threads, concurrency, virtual memory
Performance
Design approaches, multi-level memories, scheduling
Networking
Layers, sockets
Protection and Security
Authentication, access control, cryptography
Review of systems concepts using case studies

Staff

E-mail all of the CS110 staff at

Mendel Rosenblum, Instructor

Office Hours (Gates 309):
Monday 1:15-2:15PM
Wednesday 9:45-10:45AM
Thursday 11-noon
Other times available via appointment.

Edouard Bugnion, CA

bugnion@stanford.edu
Class section (Gates B12):
Friday 1:15-2:15
Office hours (Gates 332):
Tuesday 1:15-2:15
Friday 12:00-1:00
Other times available via appointment

Ibrahim Cotran, CA

icotran@stanford.edu
Class section (200-203):
Tuesday 3:15-4:05PM
Office hours (Gates B24A):
Wednesday 4:00-6:00PM

John Hiesey, CA

jhiesey@stanford.edu
Class section (Hewlett 103):
Tuesday 5:15-6:05PM
Office hours (Gates B24A):
Thursday 1:15-3:15PM

Joseph Marrama, CA

jmarrama@stanford.edu
Class section (380-380x):
Thursday 4:15-5:05
Office hours (B26a):
Tuesday 5-7

Mingyu Kim, CA

mingyukim@stanford.edu
Class section (Hewlett 101):
Wednesday 5:15-6:05PM
Office hours (Gates B26A):
Monday 7-9pm
Exceptions:
Jan. 16 => Tues. Jan. 17 7-9pm

Daniel Sommermann, CA

dcsommer@stanford.edu
Class section (200-303):
Thursday 2:15-3:05
Office hours (Gates B24B):
Wednesday 1-3 PM

Ziyad Abdel Khaleq, CA

ziyad@stanford.edu
Office hours (Gates B26A):
Tuesday 2:00-4:00PM

Assignments

Readings and Notes

Discussion Section Slides

Staff e-mail address

Discussion forum (piazza)

Calendar (office hours, etc.)

Textbook

Principles of Computer System Design: An Introduction by Jerome H. Saltzer and M. Frans Kaashoek

On-line version of textbook:

Links

Sample exams