CSCI-UA.0202: Labs

Getting started


Lab number and topicDueWeight
Lab 1: C review, WeensyOS Miniprocos, git 2/06/15 1
Lab 2: Shell 2/13/15 2/17/15 2
Lab 3: Multithreaded programming 2/23/15 (part A), 2/27/15 (part B) 2
Lab 4: Software skills, gdb, WeensyOS Schedos 3/13/15 1
Lab 5: WeensyOS Memos 4/3/15 2.5
Lab 6: File system 4/24/15 2.5
Lab 7: Journaling and transactions 5/6/15 1.5


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, by default, are to be worked on alone. When a lab assignment can be done in pairs, we will indicate that on the lab description, and in that case, there will be only one submission from the project group. Note that pairing up on a non-pair lab violates our collaboration policy.

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 email 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: Sat May 16 18:55:23 -0400 2015 [validate xhtml]