Operating Systems

CSCI 5105   -   Fall 2021

Assignments & Exams

Please see the Calendar of Important Due Dates for your work.



·         Some of the assignments and exams may have an “Online Canvas Quiz” components.

·         On all “individual assignments”. you are expected to follow the “honor code” and not consult any other person for answering the problems.







Handout Date




 First Day of Class Attendance

(Pledge to abide by the Honor Code

and academic integrity policies)



January 20

January 22


Basic Concepts



 January 21

February 1


Naming and Domain Name System



February 1

February 10


Multi-threaded server in Java (TCP  and RMI Programming project)

Group of up to 2


February 11

February 24


Mutual exclusion protocols, leader election, replication



February 25

March 7


Replicated Server Design (extending work on Assignment 2) Programming project

Group of up to 2


March 4

March 21


Fault Tolerance in Distributed Systems



March 22

April 3


 Distributed Hash Table and P2P Systems Programming project

Group of up to 2


April 1

April 21


Reliable broadcast protocols, scheduling, load balancing, authentication



April 22

May 2


·        All exams will be take-home and open book/open notes.

·        You are expected to follow the “honor code” and not consult anyone on these exams.

·        Students are expected to follow the honor code and uphold academic integrity and community standards.




Handout Date

Due Date


Open Book/Notes


March 11 (Thurs) 12:00 pm

March 12 (Friday)

11:59 pm

Final Exam

Open Book/Notes


May 7 (Friday)

12:00 pm

May 8 (Saturday)

11:59 pm 

Assignment Guidelines:


General Guidelines

§   All programming assignments will be tested on CSELabsr Linux machines, using the gcc compiler when appropriate, unless otherwise stated.

§   Assignments must be submitted electronically on Canvas by midnight on the due date.

§   When working in a group of two students, both members of the group should submit the assignment. You must submit the same work, and the submission file should contain the lastnames of both students. For example: Smith-Jones-Assingment-3.pdf.

§   When using the submit utility, the name of the assignment is of the form HW#, where you substitute the actual assignment number for the # (e.g., the name of the first assignment on submit will be HW1)

§   All assignment must have the following header in the main file:

/* CSci5105 Spring 2021
* Assignment# 1
* name: <full name 1>, <full name 2 (optional)>
* student id: <id1>, <id2 (optional)>
* x500 id: <id1>, <id2 (optional)>
* CSELABS machine: <machine you tested on eg: xyz.cselabs.umn.edu>


Late Assignments

Penalty on Late Assignments:

§   1 day late submission will incur 10% deduction of points earned.

§   2 days late submission will incur 20% deduction of points earned.

§   3 days late submission will incur 30% deduction of points earned.


Grace Period for Late Assignment Submission

§   For the duration of the course, you are given a total of five grace days which you can use to submit assignments past the due date for credit, without incurring late penalty.

§   You may use at most three grace days for an assignment unless noted otherwise. 

§   You cannot  submit an assignment three days past the due date for credit unless you are using grace days unless you are using grace days for late submission without penalty.

§   Inform the instructor and the TA when you are planning to use your grace days on a late submission.

§   It is important that you keep track of your remaining grace days so you can submit late assignments for credit. If you are unsure of how many grace days you have left, contact the instructor or the TA through email (preferable) or office hours.

§   Should you have an extenuating circumstance that requires more than three days beyond the due date or you do not have sufficient grace days left, contact the instructor and TA as soon as possible.

For Group Assignments

§   The number of grace days available to students who decide to work in groups for group assignments is the minimum number of available grace days between group members.   For example, if Alice and Bob are working together where Alice has three remaining grace days and Bob has one, then collectively, Alice and Bob can only use one grace day. 

§  The number of grace days used by a group will be deducted from the remaining grace days from each group member. Using the previous example, if Alice and Bob use their one grace day, Alice would be left with two grace days and Bob with zero. This is to prevent disputes between group members on whose grace days to use and to ensure a fair use of grace days to students who choose to work individually on group based assignments.


Group Assignments Guidelines

§   All group assignments must be completed by a team of no more than two students. Seeking help from others outside of your team on assignments is considered scholastic misconduct.  Please refer to the scholastic misconduct policies described on the grading policy page and also stated below. 


Policies for Academic Integrity and Community Standards:

You must be fully cognizant of the following policies regarding academic integrity and community standards.


Please familiarize yourself with the Online Learning Expectations outlined by the Office for Community Standard. These guidelines are stated below:

§ Students have the right to express themselves and participate freely in an online class.

§ Students are expected to treat each other, instructor(s), and all other staff members with courtesy and respect.

§ Only individuals registered and enrolled in a particular course may access the course materials, lectures, group discussions, etc. in the online environment, unless otherwise approved by the instructor. Links to course materials, including video meetings, should not be shared with individuals who are not enrolled in the course unless otherwise approved by the instructor.

§ Offensive or inappropriate language or images should not be used in any form of communication e.g., emails, discussion postings, group projects, and submitted assignments. This includes background images and settings in Zoom and other video platforms.

§ The discussion area of the course is reserved for postings related to course work only. Postings of a personal or non-academic nature are not permitted and may be removed by the instructor should they appear.

§ Grades and personal issues should be handled by private email or chat to the instructor.

§ Emails or chats to the instructor that are considered offensive or inappropriate will be sent back to the writer with a request to rewrite and resubmit.

§ If students receive inappropriate emails or chats from others in the class, they should notify the instructor immediately.


All students are expected to abide by the "Student Conduct Code".See Board of Regents Student Conduct Code 
Please be cognizant of the following documents related to policies on scholastic dishonesty.

§  All cases will be reported to the Office for Community Standards
Please see the following important documents related to academic integrity and scholastic dishonesty:

§   Departmental Academic Conduct Policy for Students in Computer Science classes

§   FAQ on Academic Conduct in Computer Science

§   Office for Community Standards FAQ

§   Board of Regents Student Conduct Code  Students are expected to abide by the "Student Conduct Co

§   You are expected to do your own academic work and cite sources as necessary. Failing to do so is scholastic dishonesty. Scholastic dishonesty means plagiarizing; cheating on assignments or examinations; engaging in unauthorized collaboration on academic work; taking, acquiring, or using test materials without faculty permission; submitting false or incomplete records of academic achievement; acting alone or in cooperation with another to falsify records or to obtain dishonestly grades, honors, awards, or professional endorsement; altering, forging, or misusing a University academic record; or fabricating or falsifying data, research procedures, or data analysis. (Student Conduct Code: http://regents.umn.edu/sites/default/files/policies/Student_Conduct_Code.pdf) If it is determined that a student has cheated, he or she may be given an "F" or an "N" for the course.

§   Cheating and other forms of scholastic dishonesty will not be tolerated.  Such activities include:

§   Consulting and seeking help from others (students or non-students) on assignments and exams when asked to do an assignment problem individually.

§   Consulting and seeking help from others not in your group (students or non-students) on assignments when asked to do an assignment problem in a designated group.

§   Cheating on exams. Consulting others or using any material which is not permitted on the exam.

§   Copying material from some source, such as the Internet or books, and presenting it as you own solution or design when asked to solve a problem yourself.

§   Attempt to change an already graded assignment and asking for re-grading of that material.

§   Attempts to fabricate the submission date/time of a late assignment to make it appear like an on-time submission.

§   Stealing some other student's solution or program.

§   Submitting solutions prepared by the TAs and the instructors during the prior years of the course offering.

§   Obtaining information through the Internet and submitting it as your own work on an assignment.

§   Purchasing a solution for your assignment from someone.

§   All group programming assignments must be done collaboratively and each group member must be fully involved in all aspects of programming.

§   Giving access to your personal computer or account to another student thereby enabling the student to access to your assignment and work. You are responsible for protecting your assignment files, program code, and data on your personal computer or account.

§   Helping or abetting another student in cheating or scholastic misconduct.


You must be fully cognizant of the CSE Lab Acceptable Use Policy.  All CSE public labs users should be familiar with the full content of this document. However, in the interests of brevity, here are the basic ideas:

§   Do not use your account for illegal, unethical, or unauthorized purposes.

§   Protect your data with the correct file permissions, and respect others' privacy.

§   Do not share your account and passwords with anybody

§   Contact the system administrators if you have questions, comments, or concerns about CSE's public computing labs.

§   Only use resources that have been deliberately allocated to you, i.e., do not try to circumvent security or administrative measures on the systems.

§   Become familiar with the system, and avail yourself of all the resources for which you have authorization.

§   Any case of cheating or scholastic misconduct may result in an “F” or “N” GRADE . Additionally, the matter would be forwarded to the Office for Community Standards.