WED DEC 7
MON DEC 5
FRI DEC 2
FRI NOV 18
WED NOV 16
MON NOV 14
WED NOV 9
TUE NOV 8
MON NOV 7
FRI NOV 4
WED NOV 2
FRI OCT 28
WED OCT 19
WED OCT 12
MON OCT 3
MON SEP 26
FRI SEP 23
WED SEP 14
MON SEP 12
91.308 Introduction to Operating Systems Fall 2005
Please use the discussion board for questions and assignments on course assignments, lectures, and other material. Before sending me an email, please consider posting your question to the discussion board. Of course, private matters (e.g., academic standing in the class) should be addressed to me.
Look for the link to the course board at the top of any course web page, in the pink resources menu.
We're going to do a mixture of numbers 1 through 3 on this list. #4 would be a real accomplishment, and it is something I continue to mull over for future versions of the course but not this semester.
In the past, the course has focused primarily on the Unix operating system. This is a good thing. Unix is an industry-standard operating system, and the APIs for interacting with it are fairly straightforward (making it good for teaching/learning purposes).
This semester, we're still going to have a primary emphasis on Unix (and C programming), but we will also be studying the Palm operating system. Each student will be provided with their own Palm Zire 32 handheld, on loan for the duration of the semester.
The Palm OS, particularly in its earlier versions, is far simpler than Unix (or most other full-blown desktop operating systems, e.g., Windows or Mac OS X). This is because the Palm OS was developed to run on tightly constrained hardware (i.e., the original Palm Pilot) and with a sharp application focus (handheld productivity apps).
Because the Palm OS is in fact significantly different from Unix, central ideas will be illustrated in complementary fashion. My goal is that this will help to develop a stronger understanding of core concepts.
Finally, while Unix (and Windows NT/2000/XP, which isn't all that different) is an industry-standard OS, it's not the only way one can imagine building an operating system. So we'll explore some alternate operating systems, which while having limited commercial success, are still quite interesting.
As long as you do the hws and listen (ok, hear and see, not necessarily listen) in the class you're guaranteed at least B.
This is more or less true (particularly since my exams are based on the homework assignments, so if you do the homeworks, you will be well-positioned for the exams).
The converse of this is also true: if you do not do the homework, you will not pass.
So, in short, make me happy and do the homeworks. This is where you'll learn the most. I personally don't believe lectures are a great way of learning (*). Lectures are a good way to get introduced to ideas, and start thinking about stuff that's new to you, but really you are going to learn something when you sit down and try to build something (that is, write some code) based on the ideas that are involved.
(*) I don't mean this as a cop-out. I mostly do a decent job of prepping material for class. But as you'll see (or already know), I'd rather bring to class a set of topics that I want us to talk about, and have people participate by asking questions or contributing their own expertise. You guys are a bunch of smart people. So I don't pretend to know more about everything related to this class than all of you. Rather than being a super domain expert, I see myself more as an experienced expedition leader. My job is to know the general map of the landscape, and be responsible for leading us through most of it. If we take some (relevant) detours based on your contributions, that's a good thing.
There will be 2 in-class hour-exams and 1 final exam. These will largely determine your grade, assuming you have completed (or made serious attempts to complete) all of the homeworks (more on this below):
in-class hour exams, 25% each
The key to success in this class is the following:
In other words:
1 missing/lame homeworks no penalty.
Here is the reason for this policy. The homework is the place to learn. So I dont want to penalize you if you didnt understand something on the assignment. Hence, the grades on your homeworks are only worth 10% of your overall grade. When you get your corrected assignments back, check to make sure you understood the material, or come see me or the TA to ask questions and debug your thinking.
On the other hand, I expect you to make an honest effort in the classnot to just attend lectures and cram for passing grades on the exams. If you are not willing to take the class seriously and do the work, you should drop the class, because (with this policy) its pretty hard to pass otherwise.
Finally, at the end of the day, if you understand what happened in each homework assignment, you should do fine on the exams! I am not going to surprise you with material on the exams that had nothing to do with the homework. Quite the opposite: the exams will be based specifically on the material on the assignments.
Long form: In professional as well as academic life outside the classroom, people seldom work completely on their own. They typically work in teams and help each other extensively. I have no objection to you getting help from me or your fellow students. I encourage you to do so. However, prepared work in this course is to be each students own.
Students should therefore be familiar with the Universitys definitions and policies on academic dishonesty, found in the University course catalog. [above adapted from Prof. Jesse Heines copying policy]
The contributions of others to your thinking must be acknowledged in all work you turn in. As UML Prof. Sarah Kuhn says, Using works of others, or drawing extensively on their ideas, without clearly stating that they are not your work (by using quotation marks, and references to the cited work) is plagiarism, a very serious academic offense. [Prof. Sarah Kuhn, syllabus for 65.790, from Prof. Marian Williams 91.531 course syllabus.]
Also: With each assignment, you must mention people whom you worked with, who you have helped, or who have helped you.
Last modified: Wednesday, 14-Sep-2005 12:47:41 EDT by email@example.com