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.

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)

1 (Jan 5)

Topics

Intro to Computer Systems

Assignments & Labs

2 (Jan 12) Assembly
3 (Jan 19) Memory, the Stack, Recursion
4 (Jan 26) Intro to C
5 (Feb 2) Processes
6 (Feb 9) Processes (cont.); File I/O
7 (Feb 16) File I/O (cont.)
8 (Feb 23) File I/O (cont.); Virtual Memory
9 (Mar 2) Spring Break
10 (Mar 9) Virtual memory; Concurrency
11 (Mar 16) Concurrency
12 (Mar 23) OS Kernels, Booting, xv6
13 (Mar 30) File Systems
14 (Apr 6) File Systems / Wrap-up
15 (Apr 13) Finals Week