CS 1651: Advanced Operating Systems
Spring 2004

Prof. Daniel Mosse and Prof. Ahmed Amer

Computer Science Department
University of Pittsburgh


NEWS:
Feb. 18th: The reading and homework for block rearrangment is available here.

Feb. 5th: Lecture slides, and readings for filesystem homework are available here.

Jan. 30th: Lecture slides about Power-aware management available here.


Meeting Times and Office Hours

Class: MW 3:00-4:15pm, SENSQ 5505
Instructor: Prof. Daniel Mosse
Office Hours: 6423 SENSQ, MW 2-3pm, 4:30-5:15pm
Instructor: Prof. Ahmed Amer
Office Hours: 6115 SENSQ, T 1:00-3pm and H 1:30-3:30pm

TA: Ping Xia (pxia(a)cs.pitt.edu)
Office Hours: 6805 SENSQ T 11:30am-1:30pm, 3:30-5:30pm, H 10-11am, 3-4pm

Required Text: Modern Operating Systems by Tanenbaum and Selected Papers to be provided during the course


Mailing List Announcement

A class mailing list will be compiled, and will be used for important announcements. It is VERY important that you be included in this list.


Course Objectives

The purpose of this course is to understand and use advanced concepts in operating systems. This will include kernel (code, data structures, etc), theoretical analysis, as well as new kernel paradigms. The programming projects component of the course will take up a fair proportion of the class.


Grading

  • 20% Exam
  • 15% Class Participation
  • 40% Programming projects
  • 10% Quizzes
  • 15% Homeworks (including documentation and reports)


    Due dates and lateness:
  • Late work will not be accepted except when due to true documented emergencies.
  • Graded work will be returned as soon as possible, usually within one week.


    Attendance

    Class attendance is mandatory. Homeworks, assignments, and important dates will be also probably posted on the class web page, but this is provided as a complementary means of communication and is not always complete. It is your fault if you miss something important because you skipped class, did not check your email, or did not look at the website on a regular basis.

    Office hours are optional. They are your chance to ask the professor and the TAs questions about the material being covered, the programming assignments, etc. There are no recitations.


    Academic Honesty: Collaboration vs. Cheating

    This really should not be an issue, specially for a senior-level, honors course, but to make things as clear as possible the following is necessary.

    You are encouraged to discuss the course material and concepts with other students in the class. However, all work that you submit must be your own. Except for group projects, you may NOT look at anyone else's code or show anyone else your code. And while you may discuss the concepts used in the programming assignments, you may not discuss implementation details of the assignments themselves.

    If you are caught copying or otherwise turning in work that is not solely your own, you will fail the course.

    The bottom line is that you are expected to conduct yourself as a person of integrity - you are expected to adhere to the highest standards of academic integrity. This means that plagiarism1 in any form is completely unacceptable. As a (soon to be) computing professional, I encourage you to consult the code of ethics appropriate to your discipline2.

    Plagiarism will be assumed until disproved on work that is essentially the same as that of other students. This includes identically incorrect, off-the-wall, and highly unusual duplicate answers where the probability of a sheer coincidence is extremely unlikely. All parties to this unacceptable collaboration will receive the same treatment.

    You should bring a picture identification with you to all examinations and be prepared to show it upon request.

    If you are unsure of what is and is not allowed by this policy, talk to the instructor.

    1 pla-gia-rize vt. to steal and pass of as one's own (the ideas or words of another) to present as one's own an idea or product derived from an existing source - pla-gia-riz-er n. (source: Webster's New World Dictionary).
    2 The Association for Computing Machinery is http://www.acm.org/, the IEEE is http://www.ieee.org/ and the IEEE Computer Society is http://www.computer.org/.


    Getting Answers to your Questions (not necessarily in that order):

  • Attend class
  • Check the class web page frequently - we will post as much information as we can
  • Talk to the TA (see info above)
  • Meet with the professor during office hours
  • Email the professor