CS3204 (Index 1380): Operating Systems
Spring 2000
Course Syllabus



12:00-12:50 - M, W, F, MCB 126

Final Exam:

3:25pm, Saturday, May 6, 2000


Dr. Sallie Henry
618 McBryde
Office Hours: 1:00-2:00pm M W F, and by appointment

How to contact me (with the following preferences)

Ask questions in class, if you are confused, you are not alone
See me during office hours

Send me e-mail henry@cs.vt.edu

Call me at the office 231-7584 (answers should be given within 24 hours)
Call me at home 961-2498 (until 10:00pm weeknights; 10:00am to 10:00pm weekends).
Put a note under my office door.

Text (Optional):

Applied Operating System Concepts: Avi Silberschatz, Peter Galvin, Greg Gagne

Notes (Must Purchase):

Not available in soft copy.

Available at:

A-1 Copies
University Mall
Tel. 552-2008

This course covers both theoretical and practical issues underlying operating systems design and implementation.  The programming projects cover the implementation and the lectures and exams cover both the theory and implementation. 

Other: You are responsible for reading your email everyday and any announcement made in class.


This course has a prerequisite of CS2604. Only CS and CPE majors are allowed. Exceptions will be made for CSA grad students.
Fill out the prerequisite if you did not have 2604 with a grade of C or better.


Midterm: 20% 

Final: 25%


Project 1:     10%     Design due one week after assignment is given out.
Project 2:     10%     Design due one week after assignment is given out.
Project 3:     20%     Design due one week after assignment is given out.
Project 4:     5%     Design due one week after assignment is given out.


Quizzes and Miscellaneous: 10%

The project percentages reflect the difficulty of the projects.  In addition, Project 2 will build on Project 1 and Project 3 will build on Projects 1 and 2. If your design for Project 1 is poor then Project 2 and Project 3 will be next to impossible to receive credit.

If the design is not turned in, you will lose 10% of the project grade.

A -- 90% - 100%
B -- 80% - 89.99%
C -- 70% - 79.99%
D -- 60% - 69.99%

How to achieve success in this course:

    • Come to all classes. YOU are responsible for all information provided in class. 
    • If you have a question, come and receive an answer from me.  I promise to be receptive to all questions. 
    • Contrary to popular belief, I will not write your programs or give you a design for your programs. 
    • This course is time intensive.  If you do not start on the project immediately, you will not finish it.  They can not be done in one day. 
    • Homework will be suggested (almost everyday).  DO IT!!  Grades may be given for homework.

Honor system:

All work is to be done under the provisions of the Virginia Tech Honor System. Students may discuss the interpretation of an assignment; however solutions must be independent. 

I will report all violations of the Honor System.

Programming Projects:

Projects will be graded by the GTA. They will be graded on a 100-point scale. 60% is for correctness. If the project does not work for all test cases, then you do not receive all of the 60%. 40% is for "elegance"-- follow the guidelines for programming style.

You must test your own program. The "test data" will not be given until a few days prior to the due date. In other words, if you wait for the "test data", you will probable not make the due date.

Unless stated otherwise, each project must be submitted with the following:

1. A copy of the program containing: 

oA description of the design (and the design) the names of files 

oSource code listing (in a logical order) 

oProgram execution output 

oA document explaining the design and how to compile the program 

2. Disk:

olabeled with name, course number and semester, compiler name and version, hardware configuration, operating system name, and version, and instructions for running your program 

osource code 

oexecutable file 

oprogram execution output 

3. Put the disk in the envelope in a manner that will prevent the disk from falling out.

4. A demo for some of the projects is required. It is your responsibility that your program works on the required machine in the lab.

Misc. problems:

olet me know if you are going to be gone from a class (before you miss) 

oif you are ill and provide a doctor's written excuse (with the proper date) 

oif someone in your family dies, bring a copy of the death certificate or the obituary (with your name and relationship to the deceased) 

o   other reasonable excuses will be considered.

Division of labor:


    • grades the midterm and the final 
    • answers questions about the program description 
    • answers questions about the lectures 
    • grades the quizzes 

GTA (Julia)

    • answers questions about the platform (NT, Unix), compiler problems and the programming language (Java, C++) etc. (not the program descriptions
    • grades the projects 
    • keeps the overall grades (if a grade changes, the GTA needs to be informed By You) 
    • maintains a list on the web of program questions and corresponding answers. 
    • updates the listserv. 

The project demos will be taken by the GTA.

If you have a problem with the grading of something, take it to the person who graded it.