Getting started
- Setup
- Unix dev tools (this is a very helpful handout written by Stanford lecturers and TAs; here is the original link.)
Assignments
Lab | Topic | Due |
---|---|---|
1 | C review, gdb, software skills | 02/12/2021 |
2 | ls | 02/26/2021 |
3 | Multi-threaded programming | 03/12/2021 |
4 | Virtual memory | 04/16/2021 |
5 | File system | 04/30/2021 |
Overview
A crucial component of the course is the lab assignments. You should expect these labs to require you to spend substantial time programming.
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!