COMPSCI 677: Distributed and Operating Systems Syllabus

Spring 2018 Syllabus and Course Information

Instructor: Prashant Shenoy
Office: Room 302, Computer Science Bldg
Office Hours: Monday and Wednesday, 3:45 - 4:45 pm, Room 302, or by appointment
Phone: (413) 577 0850
Fax: (413) 545 1249
Email: shenoy [at]

Contents: This course provides an in-depth examination of the principles of distributed systems in general, and distributed operating systems in particular. Covered topics include processes and threads, concurrent programming, distributed interprocess communication, distributed process scheduling, virtualization, distributed file systems, security in distributed systems, distributed middleware and applications such as the web and peer-to-peer systems. Some coverage of operating system principles for multiprocessors will also be included. A brief overview of advanced topics such as cloud computing, green computing, and mobile computing will be provided, time permitting.

  • Teaching Assistant:Amee Trivedi

    Email: amee [at]

    Grading assistants: Abhay Mittal, email: abhaymittal [at]
    Neha Yadav, email: nyadav [at]
    Srikrishna Kompella, email: skompella [at]

    Prerequisites: Students should be able to easily program in a high-level language such as python , have had a course on data structures, be familiar with elements of computer architecture and have had previous exposure to the operating system concepts of processes, virtual memory, and scheduling. A previous course on uniprocessor operating systems (e.g., CMPSCI 377) will be helpful but not required.

    Course Materials:

    1. Recommended Texts:

      • Distributed Systems, 3rd Edition, Andrew Tannenbaum and Maarten van Steen.
        This is the textbook for this class and is available as a free PDF textbook from the author's website: Please download your copy of the textbook from the author's website at
      • From time to time, We will also use some older material from the previous second edition of this textbook. Distributed Systems: Principles and Paradigms 2nd edition
        Andrew Tannenbaum and Maarten van Steen, Prentice Hall, 2007
        The second edition is also available as a free PDF from the author website at

      • Assigned readings from papers, magazines, manuals, and the WWW; most of this material will be made available online on the course web page; some material may be placed on reserve in the Physical Sciences library and made avilable to off campus students.

      • Course home page: All course materials (handouts, lecture notes, lecture audio / video homeworks, assignments and solutions) will be posted on the course home page at
        As the semester goes along, the site will fill up with lots of useful other information, pointers to other sites, etc. Please make sure you check out and use this site frequently.

        Moodle: We will use moodle for homework and lab submssions and online quizzes. Solutions and grades to individual assignments and labs will also be posted on moodle.

      • Class sections: Two sections of this class are being offered: a classroom and an online section. All students, regardless of the section, will be expected to do the same homeworks, labs and exams. All students have access to the instructor and TA during office hours. The main difference is that lectures will be delivered to students in the classroom for students in section 1 and via online video to students in the online section (section 2).

      • Mailing list: A broadcast class email address, cs677 [at], has been created. If you send mail to this address, it will be broadcast to all of the students in the class, so please use it wisely and carefully. I will use it to broadcast information of interest to everyone. You might want to use it to broadcast a question, or give a pointer to material that you think will be of general interest. See documentation for more information about list etiquette.
      • We will use a Piazza discussion board for online discussions on course topics and lab assignments. You need to enroll for the class discussion board at the following URL:


    Class participation I strongly encourage participation in the class through Q&A and discussion. This can be done in two ways: by asking/answering questions or participating in discussions in the lectures (for section 1 students) and by asking/ answering questions or participating in discussions in the Piazza online forums (for section 1 and 2 students). A small portion of the grade is allocated for class participation.

    While lectures will be recorded and made available to all students, section 1 students are strongly encouraged to come to the lectures on a regular basis. Section 1 students who miss a significant number of lectures will be disqualified from receiving class participation points.

    Laptops, tablets, phones and electronic device policy Cell phones should be switched off or put on slient alert during class lectures. Texting or using phones for other purposes (e.g, email, social media, web browsing) during class is strictly prohibited.

    Laptops and tablets are NOT permitted during lectures. The use of such devices in class tends to be a distraction and hampers learning. Please respect this policy by not using laptops or tablets during the lecture.

    Any student with an electronic device that disrupts the class or violates this policy will lose two (2) points from their final grade.

    Copyright notice: Many of the materials created for this course are the intellectual property of the instructor. This includes, but is not limited to, the syllabus, lectures, lecture videos, podcasts, and course notes. Except to the extent not protected by copyright law, any use, distribution or sale of such materials requires the permission of the instructor. Please be aware that it is a violation of university policy to reproduce, for distribution or sale, class lectures or class notes, unless copyright has been explicitly waived by the faculty member.

    This page is online at
    Prashant Shenoy
    Last modified: Sun Jan 21 05:33:27 EST 2018