University of Waterloo

Term and Year of Offering: Fall 2010

Course Number and Title: CS350, Operating Systems

Comp Sec Camp Loc Time Days/Date Bldg Room Instructor
LEC 002 UW U10:00-11:20 TTh RCH 305Tim Brecht
LEC 001 UW U11:30-12:20 TTh RCH 307Tim Brecht


Instructor's Name Office Hour Location Contact Office Hours
Tim Brecht MC 2037 or DC 3508, x35892 Tues 4:00 - 5:00 pm
(watch newsgroup for changes) Use Subject: 350 in email

Instructional Apprentices

Office hours will be held in MC2037, starting from the week of Sept 27

IA's Name Email Office Hours
Alex Pytel Wed 3-4pm
Richard Hu Thurs 2-3pm

Instructional Support Coordinator

ISC's Name Office Location Contact
Fenglian Qiu DC 3109, x32753

Course Description:

An introduction to the fundamentals of operating system function, design, and implementation. Topics include concurrency, synchronization, processes, threads, scheduling, memory management, file systems, device management, and security.

Course Objectives:

Provides an introduction to operating systems: what they do, how they are used, and how they are implemented.

Course Overview:

Required text:

Text Book Operating System Concepts, 8th Edition. Silberschatz, Galvin, and Gagne. John Wiley and Sons, 2009 (6th and 7th edition are fine).

Required Course Notes:

You are required to either buy or print the course notes and to bring them with you to class. Class attendance is required.

Grading Scheme

First, component marks will be determined as follows:

A0, A1, A2, A3Your grades on assignments 0-3, expressed as percentages
MYour midterm exam grade, expressed as a percentage
FYour final exam grade, expressed as a percentage

Then, we will apply the following algorithm to determine your final course grade:

Normal  = (0.02*A0 + 0.08*A1 + 0.125*A2 + 0.125*A3) + 0.20*M + 0.45*F 
Exam    = (0.20*M + 0.45*F ) / 0.65

if ( Exam < 50% ) {
    Course Grade = min (Normal, Exam)
} else {
    Course Grade = Normal
Note in particular that you must pass the exams in order to pass the course.


All the assignments should be submitted electronically. Submission instructions are found in the assignment specifications.

Marked assignments can be picked up during the IA's office hours, during the first two weeks after they have been marked. After two weeks they can be picked up from the instructor's office until the end of the term. Unclaimed assignments will be shredded at the end of the term.

Assignment marking reappraisal requests:
If there is a problem with the marking your assignment, you may request that your assignment be reappraised. To do this:

For each assignment there will be a deadline for reappraisal requests.

Slip Days Policies

Each assignment has a due date and a due time, which will be posted on the course web page. For some assignments we will use a system of "slip days" to give you some flexibility with the assignment deadlines. Each person starts the term with four slip days, which can be used to push back assignment deadlines. Slip days work as follows:

Assignments that are submitted late (with no slip days to cover them) will not be accepted and will receive a mark of 0%.

Group Policies

The following policies pertain to CS350 groups:

Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. [Check for more information.]

Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4, When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.

Discipline: A student is expected to know what constitutes academic integrity [check] to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about 'rules' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline, For typical penalties check Guidelines for the Assessment of Penalties,

Additional restrictions/clarifications involving academic honesty for this course: In completing assignments this term, you may not use code you wrote when taking CS 350 in a previous term, unless you obtain permission to do so. This is especially a problem because of working in groups, which makes identifying the authorship of code difficult. If you do wish to reuse code you wrote when previously registered in CS 350, you must contact the instructor and obtain approval before (preferably well before) the deadline for the relevant assignment. Failing to obtain such advance approval may result in academic-discipline penalties.

Appeals: A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals)

Note for Students with Disabilities: The Office for persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginning of each academic term.