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/exercises/labs for the course, first signup to the Pawtograder for the course. After that, Pawtograder will create a repository in your github.com account. If there is additional information, there will be a link on the schedue on the week it was assigned.
  • For exercises, be aware that I may push updates to the exercise repo until the day it is discussed in class.

Note: The dates in parentheses signify the date of the Monday of the week and do not imply specific dates of assignment deadlines, etc.

Week (Monday) Topics Assignments & Labs
1 (Sep 7) Intro to Computer Systems
2 (Sep 14) Assembly
3 (Sep 21) Memory, the Stack, Recursion
4 (Sep 28) Intro to C
5 (Oct 5) Processes
6 (Oct 12) Processes (cont.); File I/O
7 (Oct 19) File I/O (cont.)
8 (Oct 26) File I/O (cont.); Virtual Memory
9 (Nov 2) Virtual memory; Concurrency
10 (Nov 9) Concurrency
11 (Nov 16) OS Kernels, Booting
12 (Nov 23) Thanksgiving Break
13 (Nov 30) File Systems
14 (Dec 7) File Systems, xv6 wrap-up
15 (Dec 14) Finals Week