CMSI 587: Operating Systems
Syllabus
Spring 2004
| Monday | Caskey L. Dickson |
| 6:30p.m. - 9:30 p.m. | caskey @ technocage.com |
| Doolan 222 | 310-338-5100 |
| Doolan 104 |
This class will discuss the design and construction of modern computer operating systems. Topics such as process management, storage management, i/o, security and networking will be covered as they relate to the operating system's role as a resource manager and arbiter.
This course is for Graduate Students in Computer Science who are capable of programming in C or capable of learing it quickly. Furthermore, to complete certain homework assignments, students will have to acquire a working knowledge of the UNIX environment.
The course homepage is available at the following two URLs. The first is the primary site and the second is a mirror. The details of specific homework assignments will be posted at these locations.
Your final grade will be weighted as follows.
| Homework | ...................................... | 20 points |
| Research Paper | ...................................... | 15 points |
| Project | ...................................... | 15 points |
| Midterm Exam | ...................................... | 20 points |
| Final Exam | ...................................... | 30 points |
Letter grades are figured according to the usual scale: 90 or more points will earn you an A- or better, 80 a B- or better, and so on. The actual grade you receive in the course may be curved upward based upon the performance of your peers.
Homework is due at the beginning of class. Late work will be accepted at a 20% penalty per class session. You will not be reminded to turn in assignments, you are expected to keep track of your deadlines.
Your coding style will play a huge part in determining your score on the assignments. I will not hesitate to assign D's and F's to working programs which are poorly structured, haphazardly indented, under-commented, have poor identifier names and abbreviations, contain inappropriate hard-coded values, or are not "easily maintainable". Appearance of the grading policy in this syllabus constitutes "fair warning" of the consequences of poorly written code.
Code that fails to compile or fails to validate when run through a conformance test (e.g. validating parser) will be given an F without further review.
As with your source code, your writing must be clear, edited and concise. All submitted work, must be typed and proofed. The ability to communicate your ideas clearly and effectively is a critical aspect of your work now and later in industry. As such, assignments with misspellings and/or bad grammar will be returned ungraded. You are encouraged to make use of your peers. It is my assumption that any writing assignment you turn in has been proofed by at least one other person. The campus LRC in the library is an invaluable resource in this regard. An exception to printed/typeset material requirement is granted for hand-annotation of printed screen shots, complicated diagrams or other material that would be impractical to typeset. However, illegible work will be returned ungraded and poor craftsmanship will be given an F.
Work may be turned in either in-class or via email, however email submissions of writing assignments will be accepted in PDF format only. As we will learn later in this class, email is a reliable but somewhat unpredicatable message transport. Sending a message on time is not sufficient, it must arrive before the deadline in order to be considered on time.
Attendance is at your discretion. Participation is an important part of the learning process and the value of attending the lecture can't be overstated. We're all aware of how expensive tuition is and out of respect I will do my best to be here on time every week; I expect you to do the same.
What follows is a general outline of the course topics and readings. While we will attempt to adhere as closely as possible to this schedule, it may scale depending upon the speed with which we cover the individual topics.