Computer Science 354
Operating Systems

Dickinson College
Spring Semester 2006
John MacCormick


Course Syllabus

Contact Information

My office hours, phone number and e-mail address are available on my home page.

Primary Text

Silberschatz, Galvin, Gagne (2006). Operating Systems Concepts, Seventh Edition. Wiley. ISBN: 0-471-69466-5

Course Description

In this course we will examine the principles and concepts that underly computer operating systems. We will begin by considering what an operating system is and what it is required to achieve. We will then examine how an operating system achieve these objectives. Along the way specific examples will be drawn from Unix, Linux, Windows, DOS and the Mac-OS as appropriate to illustrate the concepts that we study. Projects will be used to reinforce the concepts from the course and to provide practical experience with systems level programming techniques.

Topics in this course will include:

How much time should you expect to spend on this course? I expect you will spend an average of 9 hours per week outside of class completing the readings, homeworks and project assignments. This is commensurate with the guidelines given in the Dickinson College catalog. If you find that you are spending significantly more than 9 hours per week on this course, please advise me and we will work to resolve the problem.

Grade Determination

The breakdown of grade assignment is as follows:

Homework 10%
Programming Projects (3) 30%
Research Paper Presentation 10%
Midterm Exam #1 15%
Midterm Exam #2 15%
Cumulative Final20%

All assignments will be graded on an absolute scale. As an example a student scoring an average of 82% on homework, 78% on the projects, 90% on the paper & presentation, 68% on the midterm exams and a 87% on the final would have a final grade of 79%:

If at the end of the semester the grades fall below the expected 90% (A), 80% (B), 70% (C) scale, a curve may be applied to the total absolute grades for the course to determine each individual's final grade.

Reading and Homework Assignments

Reading and homework assignments will be given each time that we begin a new topic. You should complete the reading assignment before the subsequent class meeting. Homework will be due at the conclusion of the topic. All homework assignments will be collected. However, not every homework question will necessarily be graded. Homework should be typewritten when possible and all answers should be written in clear, accurate English. Spelling, grammar and phrasing are important.

Math/CS Chats

Each member of the class is required to attend two Math/CS chats during the course of the semester. Following each of the chats that you attend, you must send me an e-mail containing a brief summary (< 1 page) explaining, in your own words, what the chat was about. Your attendance at the chats and the summary e-mails will be incorporated into the homework grade for the semester. (15pts each = 30 homework points.)

Projects

This course will contain 3 programming projects. These projects will be designed to reinforce particular material from the course and will run parallel to the course. The projects will be completed in groups of 2 or 3 (preferably 2) students. More information about each project will be given on the date that it is assigned.

Paper & Presentation

This course requires a research presentation based on a paper from the most recent Symposium on Operating Systems Principles (SOSP 2007 -- SOSP is often described as the world's most prestigious operating systems conference). Early in the semester, you will in groups of 2 or 3 (preferably 2) select a paper from SOSP 2007. Each group must choose a different paper, and selections will be on a first-come-first-served basis, so notify me as soon as you have selected a paper. Throughout the semester you will conduct background research sufficient to understand most or all of your selected paper. During the final two weeks of the semester each group will give a 30 minute presentation on the paper's contents and the necessary background material.

Exams

All mid-term exams will be timed (75 min.) and given in class. These exams will be closed book. However you will be permitted one 8.5" x 11" sheet of paper containing hand written notes that can be read with the naked eye. The final exam will be given at the time scheduled by the College. The final will also be closed book, but you will be permitted three 8.5" x 11" sheets of paper containing hand written notes that can be read with the naked eye.

Cheating and Plagiarism

This class follows the definition of cheating and plagiarism as described in the Dickinson College Student Code of Conduct and Disciplinary System. In addition to that definition I would like to make several clear statements about what is permissible collaboration in this class and what is not.

In summary, do your own work and do it honestly. If there is ever any question about whether what you are doing is permitted then most likely it is not. Please ask for clarification on any issues related to this policy before it becomes an issue.

Late Work Policy

Late work Each student is permitted a total of three no-penalty days of lateness over the entire semester; every subsequent day of lateness incurs a 25% penalty for the late assignment. Days of lateness are computed by rounding up to the nearest whole number of 24-hour periods, so an assignment submitted one minute after the due time is regarded as being one day late, and an assignment submitted 27 hours after the due time is regarded as being two days late.

Acknowledgment: this syllabus is closely based on that developed by Professor Grant Braught for the Spring 2006 Operating Systems course, and I'm grateful for his permission to use it.