CSE 451, Introduction to Operating Systems, Spring 2016
Course Overview
EmailDiscussion board
Readings
Exams
Grades
Problem Sets
Projects
Academic Honesty
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.
Discussion board
There's a class discussion board for questions about the project and problem sets.
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%
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.
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.
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.
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.
- Course Home
Computer Science & Engineering University of Washington Box 352350 Seattle, WA 98195-2350 (206) 543-1695 voice, (206) 543-2969 FAX