CS110: Principles of Computer Systems, Autumn 2021

Announcements

  • Tuesday, Nov 16
    • Assignment 6 was posted a few hours ago, so you're in a position to start as soon as you have the time and mental bandwidth. This is the last required assignment of the quarter, and it asks that you build up a genuine HTTP proxy and cache.
    • I just released all Assignment 5 grade reports sans code review, so you can see how you did and resubmit if you'd like to hoist your grade up to an 85%. I ran the autograder this past Sunday night, and more than a handful of you failed some tests for what I'm assuming is some unfortunate bug that shifted your numbers for many of the test runs. I'll need to unrelease the grade reports later this weekend so that CAs can more easily do the code reviews, but I want you to see your scores before you leave for break so you can decide whether or not an optional Assignment 7 is in your future.

Schedule

Week 10
Topic
Materials
Assignments
Readings
Week 10
Mon, Nov 29
Lecture 25: Introduction to Nonblocking I/O
·
Wed, Dec 1
Lecture 26: Advanced Nonblocking I/O, Event-Driven Programming
·
Thu, Dec 2
Lab 9: Proxy, MapReduce, and Farewells
assign6 In
Fri, Dec 3
Lecture 27: Life Beyond CS110, CS110 Jeopardy
·
Week 9
Mon, Nov 15
Lecture 23: Overview of MapReduce
·
Tue, Nov 16
assess3 In,
assign6 Out
Wed, Nov 17
Lecture 24: Principles of System Design
·
Thu, Nov 18
Lab 8: More Networking
assign7 Out (optional)
Fri, Nov 19
No Lecture: Day of Rest
·
Week 8
Mon, Nov 8
Lecture 21: Networks, Servers, System Calls
·
Wed, Nov 10
Lecture 22: More Network System Calls
Bryant & O'Hallaron: Sections 4,6 of chapter 3 (reader) or 11 (full textbook)
Thu, Nov 11
Lab 7: Networking and Multiprocessing
assign5 In
Fri, Nov 12
No Lecture: Day of Rest
assess3 Out
·
Week 7
Mon, Nov 1
Lecture 18: Multithreading Wrap, Ice Cream Parlors
·
Tue, Nov 2
assess2 In,
assign5 Out
Wed, Nov 3
Lecture 19: Introduction to Networks, Clients and Servers
Bryant & O'Hallaron: Sections 1-3 of chapter 3 (reader) or 11 (full textbook)
Thu, Nov 4
Lab 6: JavaScript Timers, Parallel Compilation
Fri, Nov 5
Lecture 20: Networking and Protocols
Bryant & O'Hallaron: Section 5 of chapter 3 (reader) or 11 (full textbook)
Week 6
Mon, Oct 25
Lecture 15: Multithreading, Condition Variables, and Semaphores
Bryant & O'Hallaron: Sections 6 and 7 of Chapter 4 (reader) or 12 (full textbook)
Wed, Oct 27
Lecture 16: Multithreading and Networking
·
Thu, Oct 28
Lab 5: Threads versus Processes
assign4 In
Fri, Oct 29
Lecture 17: Threading and ThreadPools
assess2 Out
·
Week 5
Mon, Oct 18
Lecture 12: Virtual Memory
Bryant & O'Hallaron: Section 3 of Chapter 4 (reader) or 12 (full textbook)
Tue, Oct 19
assign3 In,
assign4 Out
Wed, Oct 20
Lecture 13: Threads and Mutexes
Bryant & O'Hallaron: Sections 4 and 5 of Chapter 4 (reader) or 12 (full textbook)
Thu, Oct 21
Lab 4: Virtual Memory, Basic Threading
Fri, Oct 22
Lecture 14: Threads, Deadlock, Condition Variables
Bryant & O'Hallaron: Sections 4 and 5 of Chapter 4 (reader) or 12 (full textbook)
Week 4
Mon, Oct 11
Lecture 10: Signals, Take I
assess1 In
·
Tue, Oct 12
assign3 Out
Wed, Oct 13
Day of Rest
·
Thu, Oct 14
Lab 3: Parallel Programming
Fri, Oct 15
Lecture 11: Signals, Take II
·
Week 3
Mon, Oct 4
Lecture 7: Understanding execvp
Bryant & O'Hallaron: Section 5 of Chapter 1 (reader) or 8 (full textbook)
Wed, Oct 6
Lecture 8: Pipes and Interprocess Communication, Take I
Thu, Oct 7
Lab 2: Multiprocessing and Unix Tools
assign2 In
·
Fri, Oct 8
Lecture 9: Pipes and Interprocess Communication, Take II
assess1 Out
·
Week 2
Mon, Sep 27
Lecture 4: Filesystem System Calls
Tue, Sep 28
assign1 In,
assign2 Out
·
Wed, Sep 29
Lecture 5: Multiprocessing Basics
Thu, Sep 30
Lab 1: Filesystems and System Calls
·
Fri, Oct 1
Lecture 6: Process Synchronization and Transformation
Bryant & O'Hallaron: Sections 1 - 4 of Chapter 1 (reader) or 8 (full textbook)
Week 1
Mon, Sep 20
Lecture 1: Introductions
·
Tue, Sep 21

assign1 Out
·
Wed, Sep 22
Lecture 2: Filesystems, Take I
·
Fri, Sep 24
Lecture 3: Filesystems, Take II
Saltzer & Kaashoek, Section 2.5

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.