Text (Optional):
Operating
Systems: Gary Nutt
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.
Restrictions:
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.
Grading:
Midterm:
20%
Final: 20%
Projects:
Project
1: 15% 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.
All projects will be written in C++ and will run under UNIX.
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 probably not make the due date.
Unless stated otherwise, each project must be submitted with the following:
1.
A copy of the program containing:
o
A description of the
design (and the design) the names of files
o
Program execution output
o
A document explaining the
design and how to compile the program
2. Disk:
o
Labeled with name, course
number and semester, compiler name and version, hardware configuration,
operating system name, and version, and instructions for running your program
o
Source code
o
Executable file
o
Program 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:
o
Let me know if you are
going to be gone from a class (before you miss)
o
If you are ill and
provide a doctor's written excuse (with the proper date)
o
If 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:
Professor
Grades
the midterm and the final
Answers
questions about the program description
Answers
questions about the lectures
Grades
the quizzes
GTAs (Nara and Li)
Answers
questions about the platform (Unix), compiler problems and the programming
language (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 overseen by the GTAs.
If
you have a problem with the grading of something, take it to the person who
graded it.
Please send any comments / suggestions to: nara@vt.edu