OPERATING SYSTEMS IICOMS E6118, Dept of Computer Science, Columbia University
Home | Lectures | Projects | Students | Resources

"All truth passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident." -- Arthur Schopenhauer
GENERAL INFORMATION - http://www.cs.columbia.edu/~nieh/teaching/e6118
Meeting Times and Location: Spring 2012 T 9:55am-11:45am Location Mudd 545
Prerequisites: COMS W4118 Operating Systems I, proficient in C programming
Description: Study of advanced operating system topics including resource management, virtual machines, operating system reliability and scalability, mobile computing including Google Android, power management, distributed systems, cloud computing, and peer-to-peer computing. Course will involve readings and discussion of classic and new papers on recent developments in operating system research. A course project is required. Course will develop understanding of operating systems and distributed systems as well as project management, research methodology, and technical presentation and writing skills.
Enrollment: The Spring 2012 enrollment for this class will be limited. It is anticipated that the class will be not be offered again until 2014.

INSTRUCTIONAL STAFF
Instructor: Prof. Jason Nieh, , 939-7160, office hours: T 2:00pm-4:00pm CSB 518.
COURSE MATERIALS
Required Text: Operating Systems II Course Papers
Optional Linux Reference: Linux Kernel Development (3rd Edition), Robert Love, Addison-Wesley Professional, New York, NY, 2010 (available from Amazon.com and Columbia University Bookstore).
COURSE GRADE
30%: 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, a student will be selected to present the paper. Each paper presentation should be 25-30 minutes, including discussion. There will be 2 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.
70%: 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 your own choosing with approval of the instructor.
0%: No midterm, final, or "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