Computer Science 322
Operating Systems

Mount Holyoke College
Spring 2008


Syllabus

Instructor:

Jim Teresco, Clapp 220, (413) 538-2509
Electronic mail: domain: mtholyoke.edu, username: jteresco (best contact method)
Class URL: [Link]
Class hour: Monday, Wednesday, Friday 10:00-10:50, Kendade 303
Lab meetings: Self-scheduled
Office hours: Tuesday 3:30-4:30, Friday 11:00-12:00, by appointment


Disclaimer

Everything on this syllabus is subject to change. Changes will be announced in class and updated in the online version of the syllabus.

Course Objectives

The course is about the design and implementation of operating systems. We will consider

We will use Unix-like operating systems as a model to help understand operating system concepts and consider other operating systems of historical or modern interest at times as well.

Prerequisites

Texts

The required text for the course is Operating Systems Concepts, Seventh Edition (John Wiley & Sons, Inc. ISBN 0-471-69466-5) by Silberschatz, Galvin, and Gagne. This is available from Odyssey Books. Be sure to get the correct edition, as this book is the latest in a long series.

You may also find it useful to purchase a Unix reference of your choice. Unix references will be available for your use in the lab.

Lectures

Students are expected to attend class and participate in discussions. Come to class prepared. Assigned readings are listed on the lecture and reading schedule. Lectures will assume you are familiar with the material in the readings. Most lectures will include a small assignment due at the start of the next class. No late submissions of these assignments will be accepted, as they will often be discussed in class on the due date. The notes I use to guide my in-class presentations are available as PDF files linked from the lecture and reading schedule.

Labs

Labs in this course do not meet formally, but expect to spend a significant amount of time working in the lab. You will have lab assignments approximately weekly.

Lab assignments will have a written and/or a programming component. The number of points available will vary with the complexity of the assignment. Programs will be graded on design, documentation, style, correctness, and efficiency. Answers to questions included in lab assignments are expected to be well-written.

You may develop programs for the lab assignments anywhere (in the lab, your own computers, etc.) but grading will be done using the Computer Science cluster FreeBSD systems unless otherwise specified. It is your responsibility to ensure that your program works on the grading platform. You will have 24-hour access to the lab with your Mount Holyoke ID.

Unless otherwise specified, lab assignments may be turned in with a penalty computed as 1.08h%, where h is the number of hours late. Extensions will only be granted in serious situations and must be arranged through the Dean's office. You can find a C program that prints out a table of the late penalties here. Work turned in after solutions have been made available cannot receive credit.

All assignments and projects are to be submitted electronically using the turnin utility unless otherwise specified. Please submit writtren work in portable formats (plain text where appropriate, PDF or postscript when needed, avoid Word documents). If in doubt about a file format, please check with me first. Keep a copy of all submissions for yourself.

Exams

There will be two take-home exams during the semester and a take-home final exam. Exams are scheduled for March 3-5 and April 7-9.

Final Project

For the last part of the semester, the workload of the regular lab assignments will be reduced and you will focus your efforts on a large project on a relevant topic of your own choosing. The project will include a proposal, a progress report, a paper and a presentation. Most projects will also involve significant software development. Details will be made available around mid-semester, but you should expect a series of intermediate due dates during the last few weeks of the semester and a minisymposium during our final two class meetings where you will present your projects to your classmates. The final project submission will be on the last day of classes.

Grading

Grades for individual assignments and exams are not scaled. Any scaling deemed appropriate will take place at the end of the semester by adjusting the above thresholds. The following thresholds may be adjusted downward (thereby raising grades) but will never be adjusted upward.

Breakdown:

Scale:
Lecture Assignments 10% A >= 93% A- >= 90%
Labs 25% B+ >= 87% B >= 83% B- >= 80%
Exam 1 15% C+ >= 77% C >= 73% C- >= 70%
Exam 2 15% D+ >= 68% D >= 65%
Final Exam 15% E < 65%
Final Project 20%

Academic Honesty

Discussion with your classmates of the concepts related to course assignments and exams is an important ingredient in a lively and productive learning environment. However, work submitted for grading must be your own (or the combined work of group members, for group assignments). Any unauthorized copying or collaboration is a violation of the Honor Code.

Academic dishonesty cases are unpleasant and uncomfortable for everyone involved. Penalties for such violations include failure of at least the assignment in question. A written report will be made to the dean of the College, as required by the Student Handbook. If there is any doubt about the degree of collaboration allowed or the permitted sources for a particular assignment, please ask for clarification before collaborating or consulting the source. Any such collaborations or sources must be cited properly.