About CPS 210
Who should take this course. All CS graduate students should take
this class, particularly if you are interested in systems or architecture.
This course offers an opportunity to extend your knowledge of operating
system internals, architectural interactions, and distributed systems.
This course will also give you a taste of contemporary systems research
and a peek at future advances in this exciting area.
Preparation. You should be familiar with undergraduate-level
operating systems and computer architecture. If you have not taken the
relevant courses, you may need to spend more time with the textbook and
exercises. You are expected to program in C and C++ on Unix systems in
CPS 210. If you do not have a CS account, notify the instructor by e-mail
and we will create one for you.
Readings. This semester we will take background readings from
the basic textbook, Modern Operating Systems by Andy Tanenbaum.
We will also read a number of research papers and other materials available
on the Web.
Base Workload. In addition to the readings, there will be 3-5
labs and/or problem sets (45%), three exams (45%), and an "exit interview"
during which you will meet with me individually and have a conversation
about operating systems. The final interview, class participation, and
other "subjective factors" are worth 10% of your grade.
The E-track, Grading, and Quals. This is a two-track class.
Assigned work includes mandatory "G-track" components and some
optional "E-track" components. The E-track work is necessary
if you want to earn a grade of E or E+. You may choose at any time to
do any or all of the optional E-track work, but it is not likely to improve
your grade much unless you take on the primary E-track requirement, a
project on a topic of your choosing (see below). This will demand a significant
commitment of time and energy on your part (and ours).
CPS 210 is a quals course for CPS graduate students. We assign quals
passes based on demonstrated mastery of the quals material, regardless
of your grade. In particular, E-track work is not necessary for a quals
pass and will not improve your chances of earning a quals pass. The E-track
is intended for students with a serious interest in systems. In particular,
if you invest the effort in a good research project, the benefits will
carry well beyond your grade in this class. If you decide to take on E-track
work, make sure you also leave yourself enough time to learn the course
material and earn your quals pass.
Grades will be assigned by adding your scores on the G-track work and
exams, and assigning base grades curved from G- to E-. Your scores for
the E-track work are then added and curved to improve your base grade
from 0 to 3 notches (e.g., 3 notches advances you from a base grade of
G+ to a final grade of E+). I give S grades only for barely satisfactory
work, since graduate students cannot receive credit for more than two
S grades.
To summarize: if you do an outstanding job on all the G-track work,
you'll get an E- and a quals pass; if you do a good job on the G-track
work you'll get a G or a G+ and a quals pass; if you do good work in both
tracks you'll get an E- or an E and a quals pass. I reserve E+ grades
for truly outstanding students.
The deadline for proposing an optional project is February 20. I encourage
you to form groups of two or perhaps three students for the projects.
At the end of the reading period you will post the URL of a web page describing
your project, with pointers to your code and related material. Projects
and other E-track work are held to a high standard; incomplete or incorrect
work will receive little if any extra credit. A good project produces
research results that of interest to active researchers in the field,
presented at the depth of a standard conference paper.
Policy on collaboration for CPS 210. Collaboration on problem
sets and programming assignments is encouraged. Help each other. However,
your final written work must be your own, and you may be called upon to
explain (alone) your choices and answers in more detail. You must acknowledge
the sources of your words and ideas when they are not your own, and you
should list the names of anyone who helped you with your work. Failing
to do so is at best a violation of professional etiquette, and at worst
it is plagiarism. Plagiarism, like collaboration on exams, is cheating.
Cheating is a very serious offense and I do not expect it to occur in
this class.
|