CS170: Operating Systems (undergrad)

Assignments

Lab number and topicDueWeight
Lab 1: C review, WeensyOS Miniprocos, git 10/17 20%
Lab 2: Shell 10/31 20%
Lab 3: Multithreaded programming 11/14 20%
Lab 4: Software skills, gdb, WeensyOS Schedos 11/28 20%
Lab 5: WeensyOS Memos 12/12 20%

Overview

A crucial component of the course is the lab assignments. You should expect these labs to require you to spend substantial time programming. We will have labs due every week or every other week.

A number of our labs will use WeensyOS, a series of tiny, standalone operating systems. They are very instructive. They are also fun! WeensyOS, and some of our other labs, were developed by Eddie Kohler.

Lab assignments are to be worked on alone.

Asking for help

We (the course staff) are happy and even eager to help on the labs. When should you ask for such help? Mainly, you should use your judgment (the rough answer is: "when you're actually stuck"). Below are some guidelines.

First, one of the main purposes of the labs is for you to go through the exercise of figuring out how to make a system work. Thus, if a lab is at first confusing even in its instructions, please don't be discouraged; understanding the instructions is part of the work of the labs! Similarly, if your code is failing a test, note that the job of the course staff is not to help your code to pass but to help you to figure out how to solve the problem.

Second, these labs take time, and you're expected to think through both the labs and the replies of the course staff. As an example, if you get a reply from a TA, and then send a message 20 minutes later asking a closely related question, that's probably not great.

A final note

Some of these labs will be challenging. We hope they will also be very satisfying. We will work to help you meet the challenge. Our hope and expectation is that everyone who works hard on the labs will succeed. If you have ideas for improving the labs, please let us know. Good luck!


Last updated: 2020-10-05 15:43:33 -0700 [validate xhtml]