OPERATING SYSTEMS IICOMS E6118, Dept of Computer Science, Columbia University
General Info | Presentations/Reviews | Projects | Grades | Discussion | OS Resources

GENERAL INFORMATION - http://www.cs.columbia.edu/~nieh/teaching/e6118
Meeting Times and Location: Spring 2000, T12:35-2:25PM, 327 Mudd (Class Announcements)
Prerequisites: COMS W4118 Operating Systems I, proficient in C programming
Description: Study of advanced operating system topics including distributed operating systems, file system design, virtual memory management, real-time systems, proportional share resource management, operating system structure and extension techniques, and protection and security. Course will involve readings and discussion of classic and new papers on recent developments in operating system research. A substantial project is required.

INSTRUCTIONAL STAFF
Instructor: Prof. Jason Nieh, nieh@cs.columbia.edu, 939-7160, office hours: T2:30-4:30PM CSC 518.
TA: Stephen Chou, schou@cs.columbia.edu, 939-7051, office hours: R11:00-11:59AM CSC 503.
COURSE MATERIALS
Required Text: Operating Systems II Course Papers
Optional Linux Reference: Linux Kernel Internals, 2nd edition, Michael Beck, Harald Bohme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner, Addison Wesley, Reading, MA, 1997.
Computing Requirements: $50 CS account fee required, which will provide on-campus access to x86 PC running Redhat Linux 6.x, GNU C development environment, and VMware Virtual Platform for Linux.
COURSE GRADE
25%: Course presentations and participation: This course is based on a collection of journal and conference papers that describe the history and state of the art in operating systems. Students are expected to read papers before class and contribute to the class discussion as follows. For each paper, two students will be selected to present the paper. One person will present a technical overview of the paper and argue the merits of the paper. The other person will point out the flaws in the paper and attempt to shred the paper. The other students in the class will then take sides and render judgement on the paper in a manner similar to what is done by a program committee for a technical conference. Each paper presentation should be 25-30 minutes, including discussion. There will be 2-3 paper presentations per class. Presentations will be graded based on apparent understanding of the material in the paper, presentation style, and entertainment value. All students will be expected to make paper presentations. To avoid being assigned a paper that you do not want to present, you should volunteer early for your paper selection.
15%: Pop quizzes: Pop quizzes will be given on unannounced days throughout the course. There will be 3-5 pop quizzes given in class. These quizzes will be short, closed-book, and not cummulative. Your lowest exam grade will be dropped in determining your final grade. There are no make-up exams. If you miss an exam, consider that exam to be the one that is dropped in calculating your grade. There is no midterm and no final exam. This class will give you the opportunity to write your own quiz questions. A good question should test understanding of the material, should require thinking not just remembering, and shouldn't be too picky or devious. Submit a good exam question and its answer, and if we like it, we'll use it.
10%: Individual mini-project: To help prepare you for the final project for the course, a mini-project will be assigned. This project will ask you to implement some kernel-level functionality in a Linux kernel running on top of a VMware Virtual Platform. This project is to be done individually, no collaboration allowed.
50%: Team final project: The project is an opportunity for you to take an active part in exploring the subject area, as appropriate for an advanced course. You can choose any project you want, so long as it has something to do with operating systems. The project should be chosen so that it clearly extends your knowledge and understanding of some area of operating systems. The primary criterion for evaluating your project will be what you have learned and discovered, not the amount of code written or the number of pages of the written report. Projects are to be done in teams of two people. A number of project suggestions are available.
0%: No "extra credit" work

OPEN DOOR POLICY
We would like the course to run smoothly and enjoyably. Feel free to let us know what you find just, good, and interesting about the course. Let us know sooner about the reverse. See us, leave us a note, or send us email.


Jason Nieh, nieh@cs.columbia.edu