CSE 451, Introduction to Operating Systems, Spring 2016

Course Overview

Email
Discussion board
Readings
Exams
Grades
Problem Sets
Projects
Academic Honesty

Email

The a good deal of administrative information regarding this course (homework assignments, project assignments, helpful hints, etc.) will be communicated via the class email list. Be sure to check your CSE 451 email at least daily!
Also helpful is the course calendar which contains the reading assignments and due dates for problem sets and the project assignments.

back to top     


Discussion board

There's a class discussion board for questions about the project and problem sets.

back to top     


Readings

The text for the course is Operating Systems: Principle and Practice, Anderson and Dahlin, second edition (the one with Mt. Rainier on the cover).
Readings assigned for each lecture are listed on the course calendar. Lecture topics, exams, homework and project due dates can all also be found on the calendar. Note that you can subscribe to the calendar - this is very convenient.

Grades

  • Problem sets: 25%
  • Project 0: 5%
  • Project 1: 15%
  • Project 2: 25%
  • Project 3: 30%

back to top     


Exams

There is no midterm or final exam for this course. We have found that students who do well on the project also do well on the final, so we would rather give you more time to do the project. The two problem sets are designed to be comprehensive.

back to top    


Problem Sets

We plan to hand out two problem sets, each roughly covering half of the course. The problem sets are to be done individually. The intent is to be comprehensive and roughly as difficult as the types of questions that would be found on a final exam.

back to top    


Projects

The core of the course is the OS/161 project: to build a working operating system that can boot on a simulated virtual machine. The project is to be done in groups of 2-3 people; because of the difficulty of the project, we recommend 3. Every quarter, a few students ask us if they can do the project individually. We strongly discourage this; you will find the project very difficult even for a group. (Note that assignment 0 and assignment 1 are relatively easy. Assignment 2 is harder, and assignment 3 is even more difficult. If you still insist, please email the instructor your unofficial transcript, including what courses you are currently taking. We will only allow you to work individually if you can prove to us you have an adequate plan to make it work.
Each project assignment involves answering a set of questions about the assignment; these will be graded. In addition, we expect students to submit a written description of the design of their solution; we grade these independently of our tests of the implementation. Thus, partial credit can be received for answering the assignment questions and understanding how to do the assignment, even if your code does not completely work.
We will automatically grant each group four slip days for the project assignments, for you to use at your discretion. These are calendar days -- weekends and holidays count. There are no slip days for problem sets. Regardless of your remaining slip days, all assignments must be turned in by Wednesday, June 8 at 9pm. In other words, no slip days are available for use on the last assignment.

back to top    


Academic Honesty

Cheating vs. Collaboration: Please read CSE's Academic Misconduct Policy.

Collaboration is a good thing. On the other hand, cheating is a serious offense. Please don't do it! Concern about cheating creates an unpleasant environment for everyone. If you cheat, you risk losing your position as a student in the department and the college. The department's policy on cheating is to report any cases to the college cheating committee. What follows afterwards is not fun -- for anyone!

So, how do you draw the line between collaboration and cheating? A great one-sentence guideline is highlighted in our Academic Misconduct Policy:

"In general, any activity you engage in for the purpose of earning credit while avoiding learning, or to help others do so, is likely to be an act of Academic Misconduct."

For this quarter, I will have very relaxed rules with respect to collaboration on the project. You are encouraged to ask for help, from the instructor, from the TA's, from other students. However, do not cross this line: On the project, do not share code or text. Do not consult project solutions that might be on the Internet. Do not use someone else's code or text in your solutions. Sharing ideas, explaining your code to someone to see if they know why it doesn't work, even helping someone else debug if they've run into a wall, all that is ok. Any survival guides you find on the Harvard course website for OS/161 are also ok; we'll try to link to them on the main course website, so if you find one that's useful and we haven't put it up, let us know.

All work on the problem sets must be done individually. You may ask clarifying questions of the TA's and the instructor.

back to top