McMaster University

Computer Science Practice and Experience: Operating Systems
(Comp Sci 3SH3)

Term 2, Winter 2018

Course Information

Instructor: Dr. Neerja Mhaskar

  • Email: pophlin AT mcmaster DOT ca
  • Office Hours: Wednesdays, 9:30 - 10:30 in ITB-249 (starts on January 10, 2018)
  • Course URL:

Lectures and Tutorials:

  • Lectures: Monday & Thursday 4:30 - 5:20 in BSB 119
  • Tutorials: Wednesday 8:30 - 9:20 in BSB 119

Teaching Assistants and Labs:

  • L01 - MoTh 11:30AM - 12:20PM in ITB 237 - Headed by TBA
  • L02 - MoTh 12:30PM - 1:20PM in ITB 237 - Head by TBA
  • L03 - MoTh 5:30PM - 6:20PM in ITB 237 - Head by TBA


One of COMPSCI 3SD3, SFWRENG 3BB4, one of COMPSCI 2C03, SFWRENG 2C03, and one of COMPSCI 2GA3, SFWRENG 2GA3, 3GA3.

In addition to the above prerequisite(s), you need to know the following:

  • Knowledge of C and Java programming
  • Knowledge of Data Structures (for example Linked lists, Stacks, Queues)



Calendar Description/Course Outline:

Processes and threads, synchronization and communication; scheduling, memory management; file systems; resource protection; structure of operating systems; protection and security.


A. Silberschatz, G. Gagne, and P.B. Galvin. Operating System Concepts, 9th edition, John Wiley & Sons, Inc. ISBN 978-1-118-06333-0.


  • Midterm 1 and 2: (25%)
  • Labs: 15% (5 Lab tests worth 3% each)
  • Assignments: 30% (3 Assignments worth 10% each)
  • Final Exam: 30%


All announcements and course-related communications will be posted on the course website. It is your responsibility to check the course website (in particular the Annoucements section) on a regular basis.


TAs will assist students with labs (except with Lab tests!). Labs are on Mondays and Thursdays every week. Labs are not mandatory, but highly recommended as Labs tests are based on Labs. Additionally, they are designed to help with your assignment as well.


Assignments are 30% of your grade. You will have three assignments/projects worth 10% each of your grade. The assignments will be primarily in C/Java.

No late assignments are accepted.

You will learn C/Java on your own.

You may discuss the general ideas and concepts of the course material with your classmates However, your assignments/labs must be your individual effort. You may consult other sources, such as textbooks, but all such sources must be documented. Failure to do so will result in academic dishonesty charges.


Mid-terms 1 and 2 together constitutes 25% of your grade, and the final exam constitutes 30% of your grade.

The final examination will be scheduled by the Registrar's office. It will be a two and a half hour exam and will cover all the course material (e.g. lectures slides/notes, labs, assignments, and textbook).

No aids will be allowed for the midterms and the final exam.


  • Missed work will be given a mark of zero, unless an MSAF is provided.
  • If you MSAF a lab, assignment, or the mid-term exam, the weight will be moved towards your final exam.
  • Any issues with your marks/grade for labs/assignments/mid-term/final exam must be reported and discussed within one week. Any re-grading request after this period will not be considered.

Please note:

The instructor and university reserve the right to modify elements of the course during the term. The university may change the dates and deadlines for any or all courses in extreme circumstances. If either type of modification becomes necessary, reasonable notice and communication with the students will be given with explanation and the opportunity to comment on changes. It is the responsibility of the student to check their McMaster email and course websites weekly during the term and to note any changes.