CS261: Graduate Operating Systems (2016)

Professor Margo Seltzer

Tu/Th 1:00 - 2:30 MD 119

Topics:


What is this course about?

Operating Systems research literature Why do we read a lot of papers, including very old ones?

Reading and Critiquing many papers What does it mean to critique a paper?

Conducting Operating Systems Research


Course Administrivia

The course has five primary components:

Homework: A Research Reproduction

In this homework, you will be asked to reproduce a research result that you find in an operating systems research paper. You may select the paper from those on our reading list or in the assignment or you may propose a different one (but you'll need to get it OK'd). The goals of the assignment are:
  1. To let you practice conducting research with a well-definied problem
  2. To give you a feel for how challenging it can be to write up an experiment in a reproducible way
  3. To help you become both more critical and appreciative when you read papers
  4. To introduce you to a real operating systems research problem

The homework assignment is to be completed independently. The assignment is already linked off the web site; you will want to do some reading to help you select a suitable paper to use.

The goal of this assignment is to learn how to write good research papers and present research results; the process is as important as the final outcome. This will be a frustrating assignment.

Reading

Mock Program Committee

Quizzes

Final project

Random Stuff

  • No extensions
  • I will post lecture notes on the web after class. (I really want everyone to come to class with their own notes)
  • Actually, I really want people to come to class.
  • No formal sections: encouraged to form discussion group(s).
  • I begin lecturing at 10:07; we'll take a break between papers or at the half-way mark.
  • No a priori curve: If everyone does all the work well, everyone gets As.
  • Feedback welcome.

  • A Computer Science Research Course According to Margo

    Focus on what computer science systems research is using the area of operating systems as the domain of discussion.

    The following categories highlight what I view as some of the most important aspects and characteristics of good research. Others may disagree, and I won't claim that I am right, but this is how I view it, so I encourage you to consider this viewpoint and take it into account as you approach research in this course. With luck, what you learn here will inform your research in other endeavors as well.

    Become familiar with existing research -- reading

    Why do we read a lot of research papers? How do I select papers to read?

    Discussion -- classes

    Do Research.

    Engineering vs. Research (the most valuable part of this lecture)

    Good research often requires some engineering.

    1. Golden rule #1: The engineering is not the research.
    2. Golden rule #2: Research requires a question (hypothesis).
    3. Golden rule #3: The engineering helps you ask the question.
    4. Golden rule #4: Tolerate no sloppiness when conducting the research.

    What is Operating Systems Research?

    Identification of a problem/phenomenon

    Hypothesize a solution or better mousetrap

    Evaluate hypothesis

    Draw Conclusions

    Toughest things to Grok


    Reading Research Papers

    Identify what kind of paper you are reading

    Take notes

    Put paper in context

    Critique

    After you have finished reading the paper


    Writing Research Papers

    The parts of a research paper:

    1. Abstract
    2. Introduction
    3. The introduction must help the reader along the journey from a standing start to the list of contributions -- when s/he gets to the contributions, s/he must understand why they are important.
    4. Background
    5. What you Did
    6. The Results
    7. Related Work
    8. Conclusions

    General Tips

  • Spell-check
  • Grammar-check
  • Style check (passive voice, he/she)
  • Ideally, give yourself a few days to let a paper sit before you do a final proofing pass
  • As you are conducting research, begin writing up bits of the paper
  • Keep a notebook of everything that you do with respect to the research
  • Make sure you can reconstruct how you got to where you did.
  • Write Early -- Write Often