[CS Dept logo]

[back] Com Sci 230 Operating Systems: course information

Last modified: Thu Apr 16 11:01:52 CDT

Course Content

I expect to cover approximately the material in Parts 1-3 of the Silberschatz/Galvin text. Part 1 is introductory, and you should read it on your own. I will devote class time to the topics in Parts 2 and 3. I will structure the class discussion more around the Nachos projects than the text. You should use the text for a complementary view.

Course Work

Nachos Projects

There will be approximately four substantial programming projects. They will all involve modifications to the Nachos system. I will grade the projects myself. Submit programming projects with the submit-project command in /usr/local/classes/current/CS230/01/bin.


All project work should be submitted with submit-project before the time that it is due.

Of course, I will extend due dates in cases of serious hardship, such as illness or family crises. All such extensions must be arranged as soon as possible: preferably in advance, or as soon as you recover/return from whatever it is. Brief failures of computer systems are to be expected. They do not qualify as serious hardship. Part of the assignment in a programming project is to schedule work so that you may complete it in spite of moderate amounts of computer failure.

Evaluating project work

I will evaluate the project work that you hand in on four criteria:

  1. 25% S: the basic solution in C++ code
  2. 25% C: the clarity of the code and internal documentation
  3. 25% T: testing and demonstration by examples
  4. 25% E: explanation and external documentation
The boundaries are a bit fuzzy. E.g., header comments might affect both C and E. I try to make sure that all good qualities of your work are reflected in some category. If I can't cram them into the four above, I invent extra credit.

Notice that correct code only gets you 25%. In principle, you could earn a C without any success in running the programs, but I don't recommend such an approach.

Final interview

I will schedule a private interview with each of you at the end of the course to review your project work, and understanding of the principles that we discuss. I will schedule one hour apiece, with the idea that 30 minuted is enough, but it's better not to be rushed. You should prepare a 15-minute presentation of your work, with brief demonstration, to start off the discussion. At your initiative, you may schedule a practice interview any time during the course.

Optional extra projects

You may propose extra work, which may be in the form of Nachos project work, other programming work, presentation of ideas from books and articles, etc. In order to get extra credit for extra work, you need to negotiate the extra work with me in advance. I will not propose extra projects: this is entirely up to your initiative. The form of credit is subject to negotiation. One possibility is to replace some or all of the online written discussion category with extra project work.

Course Grades

Your grade will be determined by the project work described above, and by your written participation in discussion through the HyperNews online discussion. My numerical grade calculation will be

I will determine cutoffs intuitively, based on my impression of the overall quality of the class work. I may use a higher cutoff for graduate credit (Com Sci 330) than I do for college credit (Com Sci 230).

Electronic Communications

We make crucial use of two forms of electronic communication in CS230: the World Wide Web (WWW), and electronic mail.

You must check for new information in the WWW materials at least three times a week: on Tuesday, Thursday, and the weekend. I recommend that you check it daily, particularly the class discussion.

Maintained by Michael J. O'Donnell, email: [] odonnell@cs.uchicago.edu