⚠️ This is not the current iteration of the course! Head here for the current offering.

Syllabus

This is an introductory computer systems course, designed to expose students to a broad set of fundamental concepts in computer systems and their practical applications. It is best suited for students who have completed the intro sequence, and to those who may want to deepen their understanding of systems concepts. Programming languages used in assignments include C and C++.

Lectures Will be recorded asynchronously at various times. Videos will be released in accordance with the Tuesday/Thursday schedule.
Sections Will be offered on Tuesdays or Thursdays in rotation; in-person sections offered if the health situation permits.
Room Zoom
Lecture Notes Published after each class on the schedule page.
Textbook None
Prerequisites CSCI 0160, CSCI 0180, CSCI 0190; or instructor permission.
Instructor Malte Schwarzkopf (malte@cs.brown.edu)
Office Hours Thursday 3-4:30pm, on Zoom
Head TAs Casey Nelson
UTAs
  • Liyaan Maskati
  • Kyle Reyes
  • Brian Tracy
  • Floria Tsui
  • Edward Xing
STAs
  • Zeynep Aydin
  • Jenny Tan
Assignments Six individual programming projects, several smaller labs, and post-lecture quizzes. Additional homework assignments for graduate students (see missive).
Incompletes We expect everyone to complete the course on time. If unforeseen circumstances prevent you from doing so, please discuss with the instructor. Full incomplete policy described in the course missive.
Late Policy 144 late hours for use with projects (no more than 72 per project). The full late policy is described in the course missive.
Grading Projects: 48%; labs: 10%; mid-term exam: 16%; final exam: 16%; post-lecture quizzes: 10%.
Collaboration We encourage collaboration, but require students to submit their own, individual solutions. The full collaboration policy is described in the course missive.
Course Time Students will spend approximately 3 hours per week in class (40 hours), and 3 hours per week doing labs (40 hours), and 8-15 hours per week on projects (110-200 hours). Assignment work for projects will vary; the total time commitment for the course is in the range of 190-280 hours.