CS 322
Operating Systems

Course Information

Instructor

    Elodie Fourquet
Office     Clapp 226
Phone 538-2241
Email efourque   mtholyoke.edu
Office Hours
Mon. 10:00 - 11:00
Tue. 2:00 - 3:30
Thu. 3:00 - 4:00
or by appointment

Meeting times

Lectures Mon. & Wed. 1:15 PM - 2:30 PM Kendale 303
Fourth hour Fri. 1:15 PM - 2:05 PM Clapp 202

Websites

Course Webpage http://www.mtholyoke.edu/~efourque/cs322
Moodle https://moodle.mtholyoke.edu/

Course Objectives

The operating system manages computer's hardware resources, such as its CPU, memory and I/O devices and provides a set of common services to ease the development and execution of application programs. It also provides security, protecting users and their processes from each other. In this course, we will study historical aspects of operating systems development, process/thread states, synchronization and scheduling, memory management, file systems and security.

Before taking this course, you should be a competent Java programmer and be familiar with the basics of computer architecture. The prerequisites for this course are CS221 and CS211. This course is programming-intensive.

In this course you will

Textbooks

The required textbook is

For some programming projects, we will use the following textbook

Course Content



Requirements and Grading

Fourth hour demos
5 %
Lab/Homework Exercises
10 %
Programming projects
40 %
End of term presentation
10 %
Midterm
15 %
Final
15 %
Participation
5 %

Fourth hour attendance is required. You will work on labs that prepare you for the programming projects. Sometimes you will demo programs during fourth hour. Each demo is worth 1% of your course grade.

Your participation grade will be based on your participation in class, in the lab and on Moodle. You are expected to participate in lecture discussions based on class readings and homework exercises. Participation on Moodle is also encouraged, using the discussion forum. You should feel free to ask questions, to share links to articles you found useful, and to respond to your classmates questions. Replying and giving hints on Moodle's forum to a student who asked for help is useful to the rest of the class. I encourage collaboration through Moodle and doing so will reflect in your particapation grade.

Announcements related to issues that arise between class meetings will be made on the News forum on Moodle. In particular, clarifications of programming projects, changes to due dates, etc. may be posted on Moodle. You are responsible for checking Moodle and the course website on a regular basis.

Late Policy

During the semester you are entitled to a total of 5 late days for programming projects, no questions asked. These days may be spread out over multiple projects. Each day of a weekend counts as a day. After these late days have expired, you will lose 10% of the project's value for each day that it is late, except for cases of extreme emergency. Use the late days wisely!

It is extremely important to keep up to date with the course materials and assignments. The most successful approach to this course is to work regularly on readings and assignments. Don't put things off until you feel pressured by a deadline. Ask questions in class, on Moodle and during office hours.

Honor Code

Programming projects for this course are challenging. I encourage you to meet outside of class to discuss them. While you may work out strategies together, each student is expected to write up or code a solution individually, unless an assignment's instructions explicitly state otherwise. Sharing of ideas is acceptable; sharing of actual words or code is not.

Submission of work that is not your own is considered a violation of the Honor Code. The penalty for such a violation is a zero on the assignment. In accordance with the student handbook, all such violations will be reported to the Dean of Students.

All of the resources you used to help you with an assignment must be cited. This means that if you use other books or reference materials to solve a problem, you must indicate the name of the reference and the specific pages you used. If you work in a study group, the names of your study partners must be included on all assignments.

Failing to appropriately cite all the resources used to complete an assignment is a violation of the Honor Code.

Caveat

Everything on this syllabus is subject to change. Changes will be announced in class and updated in this online syllabus.