CS330-001: Introduction to Operating Systems

Winter 2018 (201810)

Instructor

Robert J. Hilderman

Office: CW308.23, 3rd Floor, College West

Voice: (306) 585-4061

Fax: (306) 585-4745
e-Mail:
WWW: http://www.cs.uregina.ca/~hilder

Lectures

Location: CL410, 4th Floor, Classroom Building

Time: MWF 8:30 – 9:20 AM

Note: The information given above is unofficial. Please refer to the Course Catalog in UR Self-Service for the official information.

Labs

·  Section: 096

Location: CL115, Main Floor, Classroom Building

Time: M 2:30 – 4:20 PM

·  Section: 097

Location: CL115, Main Floor, Classroom Building

Time: R 9:30 – 11:20 AM

Note: The information given above is unofficial. Please refer to the Course Catalog in UR Self-Service for the official information.

Office Hours

Location: CW308.23, 3rd Floor, College West

Time: TR 10:00 – 11:30 AM (or by appointment)

Prerequisites

CS210: Data Structures and Abstractions

Text (available for free online from the CS330 home page at http://pages.cs.wisc.edu/~remzi/OSTEP/)

Operating Systems: Three Easy Pieces, R.H. Arpaci-Dusseau and A.C. Arpaci-Dusseau, Arpaci-Dusseau Books, March, 2015 (Version 0.90)

Note: If you prefer an actual book, there are instructions on the book’s web site describing different purchasing options.

Grade Distribution

·  Assignments: 40%

·  Labs: 10%

·  Midterm Exam: 10%

·  Final Exam: 40%

Total: 100%

Note 1: The assignments will be weighted depending on the degree of difficulty.

Note 2: The labs will be weighted equally.

Note 3: The midterm exam is scheduled for 50 minutes.

Note 4: The final exam is scheduled for 180 minutes. You must pass the final exam to pass the course. If you fail the final exam, the grade received will be the final grade you receive for the course.

Note 5: At the instructor’s discretion, the final grade may be adjusted up to +/-5%.

Policies and Procedures

·  The material discussed in class forms the basis of topics that will be covered on assignments and exams. Feel free to stop the instructor at any time if you need to ask a question or make a comment. If the instructor can’t answer a question when asked, he’ll try to have an answer by the next lecture.

·  To facilitate a learning environment that is respectful to the instructor and other students, and one that is free from distractions, please make every effort to arrive on time. Only use cell phones, tablets, and laptop computers during lectures for work related to CS330, but of course, how you actually use your time in class is up to you. So, if you insist on activities that are not related to CS330, your instructor asks that you at least sit at the back of the room. Click here for something you might find interesting.

·  Sleeping is allowed, but snoring isn’t. If you need to sleep in class, the instructor asks that you at least sit at the back of the room.

·  Conversation between students is generally not necessary during lectures.

·  Occasionally, the instructor may need to send out an email to the whole class. Any email to the whole class will go to the email address associated with your Hercules account (of the form < or <your_name@uregina.ca). However, the email address that you provide in an email to the instructor or in documents submitted for grading may be different, if you prefer. In that way, if the instructor or marker needs to discuss some aspect of your assignment with you, the email address that you provide will be used to contact you.

·  When completing assignments, you may work individually or with one partner. If you choose to work with a partner, you must set up the partnership as soon as possible because after the first assignment is submitted, there will be no new partnerships allowed. And if you form a partnership, you will be required to remain in that partnership for the remainder of the semester. However, if you eventually decide that you want to dissolve your partnership, a divorce will be granted, but you must then work on your own for the remainder of the semester. Prior to assignment submission, partners will have to indicate their relative contributions to completing the assignment as a percentage of the work done (of course, the sum of the two percentages should be 100%). When the assignment is graded, the grade a student receives will be proportional to their contribution in completing the assignment. For example, if an assignment is worth 100 points, the grade received was 90%, and students A and B contributed 60% and 40%, respectively, then students A and B will receive marks of 90% and 60%, respectively.

·  Solutions to the programming problems on the assignments and exams should be written in ISO/ANSI/standard C/C++. Programs of this kind are portable and can be compiled and executed on different variants of the UNIX and Linux operating systems, such as those that run on Hercules, on the Linux machines in CL115, and on Macs using OS X.

·  Solutions to the programming problems must be demonstrated using scripts generated on a machine running UNIX, Linux, or OS X. We will be using programming constructs that, if not used correctly, could cause a lot of mayhem for users on Hercules. So, please do not use Hercules.

·  Program style, formatting, and documentation of program source code should conform to guidelines such as those which can be found in Appendix F of this typical introductory computer science textbook or on the CS330 home page. Whether you choose to follow these guidelines is up to you, but you should adopt a standard and stick to it.

·  Screen shots are a terrible method for capturing the output from a program and will not be accepted for credit under any circumstances. See the instructions on the CS330 home page for creating a C++ script file.

·  The due date and time of assignments will be specified on the assignment sheet. They must be submitted to UR Courses by 8:20 AM on the date due, unless otherwise indicated. Late assignments will be accepted, but there will be penalties. Specifically, if an assignment is not submitted by 8:20 AM on the date due, the maximum possible grade will be reduced to 90%, and for each successive day the assignment is not submitted by 8:20 AM, the maximum possible grade will be reduced by an additional 10%. For example, to 80% (for one day overdue), then 70% (for two days due), etc.

·  If you are unable to complete an assignment due to a health problem, inform the instructor as soon as is practical. Under some circumstances, a medical certificate may be required to confirm that you were unfit to complete the assignment. For other rare or unusual circumstances, some consideration may be given at the discretion of the instructor.

·  Partial marks may be awarded for an incomplete assignment. For example, if you do not have solutions for all the assigned problems, submit solutions for those that you did complete. For an incomplete assignment where some components in the solution to a programming problem do not work according to the required specifications, include a written description of those components and describe, in detail, the problems encountered and solutions attempted. Your grade will be reduced due to non-working components, but only by some percentage associated with those components.

·  Keep all graded material that is returned to you and do not alter it in any way. If you suspect an error has been made in recording your grade, you may have to provide the instructor with the graded material in order for the error to be resolved.

·  If you have any issues with graded material, provide a detailed, written explanation of the problem and submit it to the instructor via email.

·  Discussion of course material and assignments between you and other students is highly encouraged. However, as it relates to assignments, it should be of a general nature only. Certainly, the sharing of algorithms, program code, or other written material that is submitted for grading is not allowed. For example, copying the solution (or part of a solution) to a problem on an assignment or exam from someone else is academic misconduct. And knowingly allowing a solution to be copied is also academic misconduct. Generally, submitting any material for grading that you did not create is not allowed. You are encouraged to read Section 5.14 of the 2017-2018 Undergraduate Calendar, where you will find a section on academic misconduct. You are encouraged to report any suspected incidents of academic misconduct to the instructor. All reports will be held in strict confidence.

·  Your continued attendance implies that you have read, understand, and will comply with, the policies and procedures described above.

Important Dates

·  Friday, January 19, 2018: No Lecture

·  Friday, February 16, 2018: Midterm Exam

Location: CL410 Time: 8:30 – 9:20 AM

·  Monday, April 23, 2018: Final Exam

Location: TBA Time: 9:00 AM – Noon

Note: The information given above is unofficial. Please refer to the Course Catalog in UR Self-Service for the official information.

Other Dates

·  Friday, January 19, 2018: Course Add Deadline

Note: Last day for adding a course

·  Friday, January 19, 2018: No-Record Drop Deadline

Note: Last day for dropping a course without a transcript record

·  Monday, February 19, 2018: Family Day

Note: No lectures, labs, or office hours

·  Tuesday, February 20 to Friday, February 23, 2018: Winter Break

Note: No lectures, labs, or office hours

·  Thursday, March 15, 2018: Grade-of-W Drop Deadline

Note: Last day for dropping a course and showing a withdrawal on the transcript record

·  Friday, March 30, 2018: Good Friday (the Friday before Easter Sunday, the first Sunday after the first full moon in spring)

Note: No lectures, labs, or office hours

·  Friday, April 13, 2018: Last Day of Lectures

Note: The information given above is unofficial. Please refer to the Section 1 of the 2017-2018 Undergraduate Calendar for the official information.