CS 137, Spring 2018
File Systems

Quick index:

CS137 is a course in file systems, with an emphasis on current research directions. It will be taught in the manner of a graduate seminar, with much of the material selected by and presented by the students. There will be relatively little emphasis on homework and programming, although you will be implementing a simple file system of your own.

Honor Code

Every student is expected to abide by the HMC Honor Code and the CS Department's own CS-specific honor code. If you haven't previously signed it, or if you're unsure, please visit that link, read it, and enter your name to indicate that you agree.


When you're learning a new subject, terminology is often a huge barrier. An invaluable resource in file systems is the downloadable SNIA Dictionary, which defines a ton of acronyms and terms. You'll have to fill out a small form to get the PDF. (I suggest you list "Student" as your job title.)

Much of the class requires you to read—and to recommend—scientific papers in the area of file systems. There are many places to find such papers; this list highlights a few sources but is hardly exhaustive.


A quick directory of conferences useful in finding file-system papers:

There are many more conferences than these, so feel free to look more broadly. In particular, ASPLOS, NSDI, and PODC can be fruitful. A good way to find other conferences is to look at the bibliography of papers you have already found.


Journals that have file systems papers:


A number of people have created bibliographies of file-system-related papers. Some of them are even fairly up to date.

Grading Criteria

NOTE: The following grading proportions are tentative. In particular, the homework portion of the grade may change.

The class grading will be based on participation (10%), homework (20%), and a final project (70%). The project grading will be broken down as follows:

You will note that writing quality is a huge part of your grade. Use the Writing Center for optimal results!

© 2018, Geoff Kuenning

This page is maintained by Geoff Kuenning.