CS110: Principles of Computer Systems, Winter 2022

Announcements

  • Tuesday, Mar 22:
    Everyone, we're in the processes of releasing grades over the course of the day, and you'll see final assessment scores on Gradescope and final grades on Axess before 11:59pm tonight. We decided to go with the same square-root scheme when curving individual scores. The three assessments are individually curved according to the same square-root scheme, but none of the other items (concept checks, assignments, lab attendance) were curved, and in the end, we went with the traditional 90+ is some form of an A, 80+ less then 90 is some form of a B, and so forth.

  • We're happy to release the answer key to the final assessment now so know the types of answers we expected. We'll open up regrade requests for the final assessment on Thursday morning at 12:01am, and that will accept regrade requests through April 15th. We ask that you don't submit a regrade request unless there's compelling evidence it'll impact your final grade in the course.


This Week

Week 10
Topic
Materials
Assignments
Readings
Week 10
Mon, Mar 7
Lecture 25: MapReduce and Course Wrap-Up
·
Wed, Mar 9
Day of Rest: No Lecture
·
Thu, Mar 10
Day of Rest: No Lab
Fri, Mar 11
Day of Rest: No Lecture
assign6 In
·

Schedule

Week 1
Topic
Materials
Assignments
Readings
Week 1
Mon, Jan 3
Lecture 1: Introductions
·
Tue, Jan 4

assign1 Out
·
Wed, Jan 5
Lecture 2: Filesystems, Take I
·
Fri, Jan 7
Lecture 3: Filesystems, Take II
Saltzer & Kaashoek, Section 2.5
Week 2
Mon, Jan 10
Lecture 4: Filesystem System Calls
·
Tue, Jan 11
assign1 In,
assign2 Out
·
Wed, Jan 12
Lecture 5: File Descriptors and System Calls
·
Thu, Jan 13
Lab 1: Filesystems and System Calls
·
Fri, Jan 14
Lecture 6: Multiprocessing Intro
Bryant & O'Hallaron: Sections 1 - 4 of Chapter 1 (reader) or 8 (full textbook)
Week 3
Mon, Jan 17
Observing Martin Luther King, Jr. Day: No lecture
·
Wed, Jan 19
Lecture 7: waitpid and execvp
Bryant & O'Hallaron: Section 5 of Chapter 1 (reader) or 8 (full textbook)
Thu, Jan 10
Lab 2: Multiprocessing and Unix Tools
assign2 In
·
Fri, Jan 21
Lecture 8: Pipes and Interprocess Communication, Take I
·
Week 4
Mon, Jan 24
Lecture 9: Pipes and Interprocess Communication, Take II
·
Tue, Jan 25
assess1 In
assign3 Out
Wed, Jan 26
Lecture 10: Signals, Take I
·
Thu, Jan 27
Lab 3: Parallel Programming
Fri, Jan 28
Lecture 11: Signals, Take II
·
Week 5
Mon, Jan 31
Lecture 12: Signals and Virtual Memory
Bryant & O'Hallaron: Section 3 of Chapter 4 (reader) or 12 (full textbook)
Tue, Feb 1
assign3 In,
assign4 Out
Wed, Feb 2
Lecture 13: Introduction to Multithreading
Bryant & O'Hallaron: Sections 4 and 5 of Chapter 4 (reader) or 12 (full textbook)
Thu, Feb 3
Lab 4: Virtual Memory, Basic Threading
Fri, Feb 4
Lecture 14: Threads, Race Conditions, and Mutexes
Bryant & O'Hallaron: Sections 4 and 5 of Chapter 4 (reader) or 12 (full textbook)
Week 6
Mon, Feb 7
Lecture 15: Mutexes and Condition Variables
Bryant & O'Hallaron: Sections 6 and 7 of Chapter 4 (reader) or 12 (full textbook)
Wed, Feb 9
Lecture 16: Condition Variables and Semaphores
·
Thu, Feb 10
Lab 5: Threads versus Processes
assign4 In
Fri, Feb 11
Lecture 17: Semaphores and Multithreading Patterns
·
Week 7
Mon, Feb 14
Lecture 18: Multithreading Patterns
·
Tue, Feb 15
assess2 In,
assign5 Out
Wed, Feb 16
Lecture 19: Thread Pools and Ice Cream
Thu, Feb 17
Lab 6: Read-Write Locks, Parallel Compilation
Fri, Feb 18
Day of Rest: No Lecture
Week 8
Mon, Feb 21
Observing Presidents Day: No lecture
·
Wed, Feb 23
Lecture 20: Introduction to Networks, Clients and Servers
Bryant & O'Hallaron: Sections 1-3 of chapter 3 (reader) or 11 (full textbook)
Thu, Feb 24
Lab 7: Networking and Multiprocessing
Fri, Feb 25
Lecture 21: Servers and HTTP
Bryant & O'Hallaron: Section 5 of chapter 3 (reader) or 11 (full textbook)
Week 9
Mon, Feb 28
Lecture 22: HTTP and APIs
assign5 In
Bryant & O'Hallaron: Sections 4 and 6 of chapter 3 (reader) or 11 (full textbook)
Wed, Mar 2
Lecture 23: APIs and Networking Functions
·
Thu, Mar 3
Lab 8: Networking and Servers
Fri, Mar 4
Lecture 24: Networking Functions and MapReduce
·
Week 10
Mon, Mar 7
Lecture 25: MapReduce and Course Wrap-Up
·
Wed, Mar 9
Day of Rest: No Lecture
·
Thu, Mar 10
Day of Rest: No Lab
Fri, Mar 11
Day of Rest: No Lecture
assign6 In
·

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.