I read my e-mail fairly often, and so you may find sending me a message
to be the fastest way of getting an answer to a simple question or of setting
up a private meeting.
In addition to learning about different system structures and different operating systems, you should learn:
The lectures in this class are unusual, in that I will be doing very little of the talking. Instead, you will be expected to have read two papers before each lecture (I will supply the papers). Read them carefully, because I will ask questions about the paper and choose someone at random to answer each questions. Thus, my role in the class is to direct the discussion rather than to present the material in a digested format.
| In-class discussion: | 40% |
| Reviews: | 20% |
| Project: | 40% |
| Total: | 100% |
The goal of this project is to deepen your knowledge in one area of computer systems research. Please form groups of three or four students for this project.
I would like your group to identify a recent research paper (1995 or later) in computer systems. After you have read the paper and cleared the paper with me, construct a list of papers that are concerned with the topic of the paper. You can start this list by looking at the references of the paper, but you will most likely have to include some papers outside of the transitive closure of the references.
Having compiled this list of papers (the list should contain six to ten papers), read these papers in order to learn about the field of research the original paper addressed and discuss the papers among yourselves (and with me, if you wish).
You'll then be in a position to start the written part of your project. Write a six-to-ten page paper based on your group's reading and discussion. This paper can be structured in one of several ways:
You can extend the original paper. This would be appropriate if the paper solved only part of a large and somewhat theoretical problem. You might, for example, propose some key experiments that would validate (or invalidate) some assumptions made by the authors, or you might push a theoretical development to a more realistic or a more broad set of system assumptions.
You can propose a novel direction of research. You should write such a paper as a proposal for conducting research. This means that you should summarize what has been done in the area, what question you propose to answer, and why it is an important question to answer.
You might consider choosing a topic from the research interests of the systems faculty here. Here's a list of the faculty who do work in software systems and a few words about their research interests. Feel free to approach them directly for suggestions, or visit their web pages, or use MELVYL to identify some of their recent papers, or come talk with me.