The following is our tentative schedule for the course, some changes should be expected throughout the semester.  We will announce in class or through Piazza any major changes.

  • To get the assignments/activities for the course, there will be a link provided for each that you must first click on and accept the assignment. The link for Assignments and Labs will be on the web page for corresponding to that Assignment or Lab (see the Modules in Canvas).
  • For lab classes, do not accept the lab until class starts. We often make changes and corrections until moments before class begins.
Week (Starts) Topics Assignments & Labs
1 (Jan. 16) Intro to Computer Systems
2 (Jan. 23) Assembly
3 (Jan. 30) Memory, the Stack, Recursion
4 (Feb. 6) Intro to C
5 (Feb. 13) Processes
6 (Feb. 20) File I/O
7 (Feb. 27) Virtual Memory
8 (Mar. 6) Concurrency, pt. 1
(Mar. 13) Spring Break
9 (Mar. 20) Concurrency, pt. 2
10 (Mar. 27) OS Kernels, Booting & xv6, pt. 1
11 (Apr. 3) OS Kernels, Booting & xv6 pt. 2
12 (Apr. 10) File Systems
13 (Apr. 17) File Systems, cont’d
  • A11 “pre-submission”
14 (Apr. 24) Wrap-up
  • A11 due Apr. 29