Syllabus (Spring 2020)

If you have any questions not addressed in this syllabus, don’t hesitate to ask in person or electronically!

Course Details

Office Hours

  • My office is in Ford Hall 252.
  • Note that this location has changed if you knew where I was last year!
  • Always by appointment if I can! Get in touch: jjfoley@smith.edu

TA Hours

The departmental TA page is here: http://www.cs.smith.edu/TAs.php. Feel free to ask on Piazza about TA hour changes.

The department provides TA support. Not every TA has taken Operating Systems in the past.

Class Meetings

  • Lecture: (Ford Hall 342) Tuesdays & Thursdays 1:20pm-2:35pm
  • Lab: (Ford Hall 342) Wednesdays 2:45-4:35pm

We may have hands-on exercises outside of official Lab time as makes sense for content in the course.

Accessibility

This course is intended to be accessible to all students. If you have questions or requests for accommodations, feel free to reach out to me or the Office of Disability Services. For accomodation letters you can email me or deliver them to my office hours so we can construct a plan together. Please let me know as soon as possible how I can best support your learning.

Identity

In order that all forms of self-identity can be honored, students who prefer specific pronouns are encouraged to inform the instructor. There is a survey I have created so I can get to know you all better.

Computer Access

This course will be hands-on, and if anyone is unsure of where or how they will complete their assignments, they are encouraged to contact the instructor. Smith College has resources for students in need of computers including labs, rentals and grants (e.g., money). The instructor would be quite happy to help a student looking for a quiet place or a laptop to do the assignments.

Operating Systems (Course Content)

For the most part, we will follow the “Operating Systems: Three Easy Pieces” (OSTEP) textbook, which is available for free online.

I disagree with using the word “Easy” to describe systems courses; at best we mean “Simple” and all students are acutely aware that “Simple” does not necessarily mean “easy to pick-up”.

Prerequisites

Normally, students are required to take CSC231 before taking this course. A discussion of operating systems is greatly benefited by an understanding of assembly language, system architecture and the concepts of the C programming language.

We will discuss and review C and architecture concepts throughout the course, but it is expected that you will have a solid foundation.

Course Outline

The big idea of this course is learning how computers share resources and try to be fair to different users with different needs. This course is broken down into the study of three specific resources for which computer scientists have developed solid, well-understood solutions: CPU, Memory, and Disk.

When sharing the CPU and Memory, there are many models, and we will see both the process (share CPU but not Memory) and thread (share CPU and Memory) models.

Advanced topics will be subject to time constraints.

Schedule and Topics

The schedule is presented on a separate page for readability and editability.

Grading Overview

Your course grade will be a weighted average of your projects (the assignments), your exams, and the final project. I am always happy to discuss feedback and grading with you.

  • Projects (Assignments) 50%
  • Class Participation & Preparation 20%
  • Exams (Midterm & Final) 20%
  • Final Project 10%

If you believe something has been marked in error or you do not understand why a certain grade was given, please talk to the instructor during office hours or an appointment. I will be happy to explain my thinking and/or correct my mistake!

Attendance Policy

I will schedule content in lectures and labs to best support your work in CSC262, and I will track attendance, which will be informally part of your class participation and preparation grade. I encourage you to visit my office hours or consult with your classmates if you have questions reviewing any material you have missed.

Assignment Extension Policy

Extensions will be given in extenuating circumstances, but only after a conversation and discussion with me. In such circumstances, I strongly suggest students contact the Dean of Students’ office so that they may take advantage of Smith’s support resources.

Students with accommodations through the Office of Disability Services are encouraged to contact me so we can work out a plan together. See Accessibility.

Collaboration & Academic Honesty

Smith College expects all students to be honest and committed to the principles of academic and intellectual integrity in their preparation and submission of course work and examinations. All submitted work of any kind must be the original work of the student who must cite all the sources used in its preparation.

Smith Honor Code, Student Handbook

Students are encouraged to discuss assignments in groups, to discuss error messages, to “Google” questions together and to generally become better Computer Scientists as a community. Students are not allowed to write code together without the explicit permission of the instructor.

Working together without permission or using code without properly sourcing it will result in a report to the honor board.