CS 2510 - Advanced Operating Systems

Class: TH 10:00-11:15am, SENSQ 5313
Instructor:  Daniel Mosse (mosse@cs.pitt.edu)
Office Hours: 6137 SENSQ, TH 9-10am and 11:15am-12:00pm
Phone: 412-624-8923

TA: John Wenskovitch (jew51@pitt.edu) 
https://www.cs.pitt.edu/~jwenskovitch/cs2510.html
Office Hours: 5808 SENSQ, MW 2-3, TH 2-4 (or by appointment)
Phone: 412-624-2981  (Office)

Class announcements will be done via the roster mailing list. It is VERY important that you read your PITT EMAIL. It is therefore your responsibility to ensure you are able to read your PITT e-mail.


Classnotes (PDF format <2 slides/page>):


  1st midterm Exam Late October, 10:00am, in the classroom
  2nd midterm Exam Early December, 10:00am, in the classroom
  Final Project report first draft due December 06, 10:00am; final report due Dec 13. 
  Presentations of final projects evening (6-9) of MONDAY Dec 12 (mini-workshop style presentations)



Readings, and no-Textbooks

Papers will be assigned as readings throughout the term.  Since we'll be describing PRINCIPLES, most texts in distributed systems are acceptable supplemental reading, even books as old as "Distributed Systems" by Andrew S. Tanenbaum and Maarten Van Steen (2002), or "Advanced Concepts in Operating Systems" by Mukesh Singhal and Niranjan Shivaratri (1994).



Grading

  •  25% Midterm exam
  • 25% 2nd Midterm exam
  • 40% Programming projects. The projects have an estimated 10 hours per week for a good programmer.
  • There will be assignemnts and pop quizzes throughout the term. These will be worth 10% of your final grade.
  • An additional 5% bonus is possible based on class participation.
     
  • Note: You must average above 50% in each of the following two parts in order to pass the class:
    (1) the programming assignments and  (2) the exams. 
    Lower than 50% on either portion of the class will result in a failing grade regardless of the overall score.


    List of Topics (tentative):


    Attendance

    Class attendance is officially mandatory. Homeworks, assignments, and important dates will be posted on the class web page, but this is provided as a courtesy and is not always complete. It is your responsibility to keep up with class materials and assignment.

    Office hours are optional. They are your chance to ask question and get help from the professor and the TA about the material being covered, the programming assignments, etc.


    Academic Honesty: Collaboration vs. Cheating copied from Ahmed Amer

    This really should not be an issue, 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. Under no circumstances may you 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-ern. (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/.



    SAMPLE   MATERIALS

    OLD SAMPLE 2nd midterm study guide here . Note that this is just set of things that you should know. you're actually responsible for all the stuff in the reading list (book chapters, classnotes, handouts, and class discussions).


    OLD SAMPLE 1st midterm Exam study guide here. Note that this is just set of things that you should know. you're actually responsible for all the stuff in the reading list (book chapters, classnotes, handouts, and class discussions).

    OLD Project descriptions for your information only
  • Project1

  • Project 3
      Project 3 clarifications
  • in ps (size: 43K) and in pdf (size: 69K) - Distributed Mutual Exclusion
    this is a list of the changes to the original (not shown) project description
    this is an updated list of the requirements.
  • SELF ASSESSMENT (if you cannot do this, then you should drop the class)
    Client/Server Programming
    submission instructions
    ps (size: 44K) or pdf (size: 66K)
    clarifications and grading sheet and sample expect script (not mandatory)
    sample makefile and makefile stuff from GNU (Mark S.)