Objectives |
- Students taking this course can expect to acquire the following:
- an understanding of the major concepts of operating
systems including threads and synchronization, virtualization
and virtual machine monitors, file ssytems and I/O,
distributed systems, and security;
- a close understanding hardware interacts with the kernel
- the layer of software closest to the hardware;
- an understanding of the layers of abstraction and
virtualization provided by vertual machine monitors and
operating systems
- Students are expected to be familiar with C/C++ and must
be very comfortable with the concepts and programming
techniques from CS241. Students are encouraged to review the
CS241
course webpage in this regard.
|
Contacting the Course Staff |
- For email and the newsgroup: please allow about 24 or so hours
for a response, except on weekends (see below).
- The staff do not work on the weekends. If you send something late
Friday or over the weekend then you should not expect a reply before
Monday.
- Never ever EVER call any staff at
home.
|
Submitting Assignments |
-
To submit an MP, you must have an account on the EWS systems. Using an EWS
machine, you will need to run the
handin
program. Before submitting an assignment, you MUST make
sure that your MP compiles. If your MP fails
to compile, your assignment will
get NO CREDIT. There will be no partial credit for assignments
that fail to compile.
|
Extensions |
- Each assignment will normally have an automatic 48-hour extension with
a point penalty of 20% on that assignment. If we cannot give such an extension
for a particular assignment, for example due to scheduling constraints,
we will announce that when the assignment is handed out.
During the automatic extension, staff is not obliged to
answer questions for that assignment. You are on your own.
Extensions without a point penalty for the first 48 hours and any
extension beyond the 48 hours will only be granted under very
unusual circumstances such as a medical or family emergency.
A signed note from a responsible party will be required.
If you do need such an extension for some legitimate reason,
do your best to let us know as soon as possible, preferably before
the normal assignment deadline.
|
Regrade Policy |
Our goal as the course staff is to grade your work carefully and
accurately. Unfortunately, occasionally staff may overlook something,
misunderstand an otherwise correct answer, or record a score incorrectly.
This is where the regrade procedure steps in.
In order to have your regrade considered you must provide the following:
- your netid;
- what assignment or exam question was graded incorrectly; and
- why you think your answer deserves more points than what the
grader gave.
You must also submit your regrade request for a particular
assignment or exam within one week of receiving grades for that
assignment or exam. It must be submitted directly to the
course instructor, not to the TAs. Late regrade requests
will not be accepted or read.
Good reasons to ask for a regrade:
- You used a notation that was unfamiliar to the grader but is
standard (e.g., in a textbook for one of your other courses).
- The grader recorded a score incorrectly.
- The problem was ambiguous (or just plain wrong), causing you to
interpret it differently than the grader.
- The grader marked the problem wrong incorrectly.
Bad reasons to ask for a regrade:
- Part of your answer "matched" the answer given in the solution.
A partially correct answer is still wrong.
"The difference between an
almost right word and a right word is the difference between a
lightning bug and lightning." -- Mark Twain
- You wrote down two or more answers, only one of which was correct.
Never put more than one answer for a question unless we tell you that
such a thing is legitimate.
- You expended a lot of effort answering the problem. We are
measuring mastery, not effort.
- You wrote something down.
|
Collaboration |
You are allowed to collaborate on the assignments of this
course, in order to figure out how to solve the problem, resolve
things you don't understand, and help each other track down
errors or bugs. Nevertheless, you must each write and
test your code separately and handin your
own MP. No more than 10% of any assignment may consist of
direct quoations. You may write your code while loking
at code from those you credit, but if you paraphase, each
section so written must clearly have its original authorship so
marked. The same rules apply to Hws, if HWs are assigned; you
must write up your own HW separately from others, and comply
with the citation instructions given above.
If your collaboration extended beyond understanding for what
the problem was asking, then you should note on your assignment
with whom you collaborated. If your collaboration extends to
copying from or paraphasing others, such quotations should be
clearly delimited and credited at the site of
copying/paraphasing. As always, you are subject to the rules
for plagiarism. Whether you pass this course or not will depend
on whether you pass the exams -- and those are
non-collaborative.
We allow you to collaborate for several reasons:
- all research done indicates that students learn more when they are
allowed to work together;
- our own ability to respond to student questions is increased
because your peers are able to give help.
However, you have to collaborate intelligently in order to get the most
out of it. If you ask a friend to describe the solution completely to
you and then write it down (in substantially different form), you will
get the credit but you'll fail the exam because you never learned the
methods/techniques/concepts.
If you copy a friend's solution directly or substantially,
that will be considered cheating, unless you give clear a cite
of your source at the point of quotation or paraphase. If you
work as a group, each writing part and sharing it with the
others, that is also considered cheating, unless your cite all
members from whom you copied, annotating each contribution
separately and at the location of copy. The penalties for
being discovered cheating are described in the next section,
below. If you offer your solution for others to study and
potentially copy, you should protect yourself from being accused
of cheating by reporting this as well. Then, if some of those
to whom you have lent your work fail to cite you, you will be
protected from cheating accusations (unless they also claim they
lent the same problem to you).
If you copy, directly or by paraphase, your solutions from
friends or other sources, you must cite your source.
Think of MPs and written assignments as being part of the
practice for the exam. Many of the
problems will be used as a basis for the exam problems themselves. In
fact, when it comes time to study, we will likely advise you to redo
your MPs and written assignments.
If you get really stuck, and do end up needing someone else to write
some small function on an MP for you, or use some code from any other
source, *acknowledge* it up front in your work. If you do so, you
will not be considered to have cheated. We will keep a record of the
problems on which you report having copied. On each exam we
will place several homework problems. If you perform
significantly worse on these problems on the exam than you did
on the corresponding problems on the homeworks, then you may risk
losing all credit for all homeworks for that portion of the course,
because you evidently didn't learn from your way of doing the homework.
|
Policy on Cheating |
We will be looking for cheating on both homeworks and exams. The
penalty for being caught cheating a first time -- either sharing your
solution on an exam -- or copying someone else's solution (without
cite, if it is a homework) -- is that you will receive a negative score
for the unit cheated on equal to the value of the unit. A homework
(MP or written assignment) is one unit. A numbered problem on test,
including all its parts, is a unit. The penalty if you are caught
cheating a second time is a grade of F for the class. Moreover, if
you cheat a second time, both cheating episodes will be reported to
the department. You should take all reasonable precautions to prevent
others from cheating and report any suspected cheating.
|
Grading |
Our goal is to have grades back to you as soon as possible. In
practice, this will probably take about a week for each
assignment or exam. Whenever your homework is graded, it will
either be returned in class if it is a written assignment, or
you will receive an email with information about your grades if
it is an MP. Do not ask when grades are available. They will
be in your inbox or handed back in class when they are
available.
Written assignments (including tests) will only be handed
back in class once. If you are not present when the
assignment is handed back, you must pick up your assignment from
the instructor during the instructor's office hours. All work
will be returned only to the author; no proxy may collect your
assignments for you.
Grading Breakdown |
Work |
Weight |
Notes |
Machine Problems and Written Assignments (combined) | 20% |
Midterm 1 | 20% |
Midterm 2 | 20% |
Final Exam | 40% |
Project | NA |
Only for 4-unit graduate students |
|
Textbooks |
There is no required textbook for this course. However, the following textbooks are recommended reading: (see also the resources page)
|
|
|