CS 3204: Operating Systems - Syllabus


Graduate Teaching Assistant


9:05AM - 9:55AM (McBryde 129 - CRN 91394)


This course covers both theoretical and practical issues underlying operating system design and implementation. Lectures and homework assignments focus primarily on theoretical and conceptual aspects of operating systems. Programming projects focus on the application of concepts and implementation details.

Course Prerequisites:


The following book is required:
Operating Systems: A Modern Perspective, 3rd Edition, by Gary Nutt, Addison Wesley, 2003, ISBN: 0-201-77344-9.

Grade distribution

Scores in this class will be on a 1000 point scale distributed as follows
Quizzes 50
Homework 100
5 Projects 500
Midterm Exam 150
Final Exam 200

Quizzes - 50 pts

Short quizzes will be given during lecture sessions throughout the semester. Quizzes will mostly cover material from the previous lectures.

Homework - 100 pts

There will be a number of homework assignments that may consist of problems from the textbook or small programming assignments. All solutions should be submitted electronically using the curator system as a plain-text file.

Programming projects - 500 pts

The majority of your grade will come from individual programming assignments. There will be five programming assignments. The number of points per assignment will be indicated on the assignment description. All programs have to be submitted to the curator system. Precise instructions regarding each individual submission will be provided with each assignment specification.

Exams - 350 pts

There will be two exams in this class. The midterm exam will cover approximately half the course material and is tentatively scheduled in the middle of October. The final exam will be a comprehensive exam covering the entire course material and is scheduled for December 12, 10:05 AM - 12:05 PM.

Note: There will be no make-up of the midterm or final exam, unless there is a valid reason. If you have a valid excuse for not being able to take the exam in the scheduled time-slot, please inform the instructor atleast 24 hours in advance. The request has to be accompanied by a letter from the Dean's office.

Grading Policy

Upon receiving grades for attendance, quiz, homework, or project, you have two weeks to question/contest your grade. After that, you will not be able to contest the grade which you received on an assignment, project, exam or quiz. This is to ensure that the grader remembers the grading criteria and is able to fairly consider any re-grading request.

Class web site, listserv and forum

The url for the class is http://courses.cs.vt.edu/~cs3204/fall2003/ali/. Announcements regarding availability of assignments and grades will be posted to the class listserv. The listserv address is CS3204_91394@listserv.vt.edu. Every student who is registered by the first day of class is automatically subscribed to the class list. The listserv will be used primarily for announcements and clarifications.

A discussion forum for the class is available at https://forum.cs.vt.edu/. The forum should be used for discussion about the projects rather than the class listserv. Questions (and answers) of relevance to the entire class will be posted to the class listserv by the instructor and/or the GTAs.

Posting of solutions to the listserv or forum is NOT permitted. The Honor Code applies to both the listserv and forum too.

Late Policy

Absolutely NO late homework assignments or programming projects will be accepted. Plan in advance to make sure that you submit before the deadline.

Operating System

All programming assignments and any homework assignments involving programming will be expected to run under Linux with gcc/g++. Assignments are expected to compile and execute on the Linux machines in the Computer Science undergraduate lab, which run Mandrake Linux 9.1. You are required to have a CS undergraduate lab account. See http://www.cslab.vt.edu/ for details on obtaining an account.

At least one assignment might require modifying the source code of the Linux kernel. To complete this assignment, you will need root access to the operating system. Since you cannot have root access in the CS undergraduate lab, you will be required to install Linux on your personal machine. It is recommended that you do this at the beginning of the semester to identify any potential difficulties with this process.

You are encouraged to download and install the Mandrake system on your own machine. Information and downloads can be obtained from http://www.mandrake.org/. A local mirror site for downloading different versions of Linux, including the latest version of Mandrake, is ftp://raven.cslab.vt.edu/pub/linux/. Installing Linux can be a tricky task, and differs widely depending on your own system configuration. The Virginia Tech Linux/UNIX User's Group http://www.vtluug.org/ is available to help you with this process.

The Honor Code

The Honor Code applies to this course and will be enforced. All graded assignments must be your own work. You may seek help during office hours from the instructor or the Graduate Teaching Assistant. Always give credit for work that is not entirely yours (e.g., parts of programs or homework answers borrowed from a book). You can find the Computer Science departmental policy on koofers at http://www.cs.vt.edu/academics/ugrad/Handbook/koof.html.

Other notes

If any student needs special accommodations because of a disability, please contact the instructor during the first week of classes.

© Mir Farooq Ali, 2003.