Projects

This quarter we will have four projects that we designed to give you experience with system design and implementation. You will write programs that demonstrate the concepts that we cover in class. Broadly speaking, we will divide the projects in to two different categories. The first category will be relatively small and self-contained projects, but we will give three of them over the first four weeks of the class. The second category will be larger projects, and these will come in the second half of the class and will be spread out over several weeks.

Processes, system APIs, threads, and concurrency

During the first part of the quarter, we will give you three projects covering basic command line utilitites, processes, multi-threaded programming, and synchronization.

Distributed file systems

In the second part of this quarter, we'll have one larger project where you will implement a distributed file system.

Group or individual?

You are welcome to work with other students in this class, but you must write and submit your own solutions. You may not copy any code and we will consider any copied code to be a violation of our cheating policy.