CS110: Principles of Computer Systems, Spring 2021

Announcements and Updates

  • Sat, Apr 10: The awesome CS110 CA's cranked out some quality code reviews these past few days so we could turn around Assignment 1 grades as quickly as possible. In general, everyone did brilliantly—so brilliantly that the median score was an 80 out of 80. You can check out your functionality score and your code review by clicking right here. You'll also notice I dropped a new link on the left nav of the web site that links to your CS110 Gradebook, and you can always check that out to review past assignment and self-assessment scores, and it'll even tell you if an assignment submission went through even if it hasn't been graded just yet. I'm also sharing my assign1 Redux handout the summarized common correctness and style issues we've seen this and in past quarters.

    Great job, everyone!


Week 1
Week 1
Mon, Mar 29
Lecture 1: Introductions
Tue, Mar 30

assign1 Out
Wed, Mar 31
Lecture 2: Filesystems, Filesystem APIs, Take I
Fri, Apr 2
Lecture 3: Filesystems, Filesystem APIs, Take II
Saltzer & Kaashoek, Section 2.5
Week 2
Mon, Apr 5
Lecture 4: Filesystem Design, System Calls, and Introduction to Multiprocessing
Bryant & O'Hallaron Chapter 2 (reader) or 10 (full textbook)
Tue, Apr 6
assign1 In, assign2 Out
Wed, Apr 7
Lecture 5: Understanding fork and execvp
Bryant & O'Hallaron: Sections 1 - 4 of Chapter 1 (reader) or 8 (full textbook)
Fri, Apr 9
Lab 1: Filesystems and System Calls
Week 3
Mon, Apr 12
Lecture 6: Shells and Pipes
Wed, Apr 14
Lecture 7: Signals and Signal Masks, Races and Deadlock
Bryant & O'Hallaron: Section 5 of Chapter 1 (reader) or 8 (full textbook)
Thu, Apr 15
assign2 In
Fri, Apr 16
Lab 2: Multiprocessing and Unix Tools
assess1 Out
Week 4
Mon, Apr 19
No Lecture: Day of Rest
assess1 In
Tue, Apr 20
assign3 Out
Wed, Apr 21
Lecture 8: Multiprocessing Wrap, Introduction to Threads
Fri, Apr 23
Lab 3: Parallel Programming
Week 5
Mon, Apr 26
Lecture 9: Threads, Race Conditions, and Mutexes
Tue, Apr 27
assign3 In, assign4 Out
Wed, Apr 28
Lecture 10: Multithreading, Condition Variables, and Semaphores
Fri, Apr 30
Lab 4: Virtual Memory, Basic Threading
Week 6
Mon, May 3
Lecture 11: Multithreading and Networking
Wed, May 5
Lecture 12: Multithreading and Ice Cream Parlors
Thu, May 6
assign4 In
Fri, May 7
Lab 5: assign3 Redux, Quicksort and Threading
assess2 Out
Week 7
Mon, May 10
No Lecture: Day of Rest
assess2 In
Tue, May 11
assign5 Out
Wed, May 12
Lecture 13: Introduction to Network, Clients and Servers
Fri, May 14
Lab 6: assign4 Redux, Read-Write Locks
Week 8
Mon, May 17
Lecture 14: Networks and Servers, Take II
Wed, May 19
Lecture 15: Networks and Servers, Take II
Thu, May 20
assign5 In
Fri, May 21
Lab 7: Networking and Multiprocessing
assess3 Out
Week 9
Mon, May 24
No Lecture: Day of Rest
assess3 In
Tue, May 25
assign6 Out
Wed, May 26
Lecture 16: Network Wrap, MapReduce Overview
Fri, May 21
Lab 8: Networking, MapReduce
Week 9
Mon, May 31
No Lecture: Observing Memorial Day
Wed, Jun 2
Lecture 17: Principles of Systems Design
Thu, Jun 3
assign6 In
Fri, Jun 4
Lecture 18: Life Beyond CS110

Note that all lectures and assignment deadlines are subject to change.

Our CS110 website imitates that used by University of Washington's CSE373, Spring 2019.