Distributed Systems




CS 425 : ECE 428



Contact Course Staff

Fall 2020


Machine Problems (MPs)

  • This section on MPs is only for 4 credit students (on-campus or online) who are NOT MCS-Coursera. (3 credit students or MCS-DS are welcome to do the MPs, but we will not be able to grade or evaluate them or treat them as extra credit.)
  • All Machine Problems (MPs) will be posted here. There will be three MPs. For the MPs in the Fall 2020 semester, you can work in groups of up to 3 students (so either 3, 2, or 1 students). Beyond your MP group, you can discuss concepts and clarifications of the MPs with other students and the course staff--but all solutions, code, and ideas must remain within the group.

  • If you are a 4 credit on-campus/online student: By Thursday 9/3 @ 5 pm, you must let us know what group you are in. To do so, please do BOTH of the following (ONCE each):
    1. Fill out the form [at this link]  (before you click, please ensure you are already logged in via Google Apps @ Illinois), and
    2. Email  cs-425-staff@mx.uillinois.edu with subject line "CS 425 MP Group" stating the members in your group.

  • Any corrections will appear in red font in MP document. Please refresh (and check Piazza) often!
  • [MP0 Specification Document]: Released 8/25 (pre-released 8/24). Groups Due @ 9/3 5 PM US Central Time. Rest of MP0 is optional (but we recommend you do it).
    • Notes: None.
    • Recommended Solutions (from Student Submissions), From Fall 2019 semester: Go C++ Java Python
  • [MP1 Specification Document]: Released 9/4. Due @ 9/27 11.59 PM US Central Time. Demos on 9/28.
    • Notes: You should be able to start and make substantial progress, even before you get VMs.
    • Recommended Solutions (from Fall 2020 Student Submissions): Go C++ Java Python Rust. You may use this code (or your own code from MP1) for your MP2/MP3.
  • [MP2 Specification Document]: Released 9/29. Due @ 10/25 11.59 PM US Central Time. Demos on 10/26.
    • Notes: Start early!
    • Recommended Solutions (from Fall 2020 Student Submissions): Go Go-2 C++ Java Python Rust. You may use this code (or your own code from MP1) for your MP3.
  • [MP3 Specification Document]: Released 10/27. Due @ 11/29 11.59 PM US Central Time. Demos on 11/30.
    • Notes: Start early! This is a fun but challenging MP! You have a lot of flexibility in design, but there are many design choices to make. As usual, keep it simple (KISS paradigm)!

Homework Assignments (HWs)

  • This section on HWs is for ALL students (on-campus, online, MCS-DS, all credit levels).
  • Homework assignments (HWs) will be posted here. There will be four HWs, and their release and due dates are on the schedule. We will stagger HW deadlines so that they do not clash with MP deadlines.
  • ALL Students (on-campus, online, MCS-DS) must do all HWs
  • For HWs, you must submit solutions that are typed. Figures may be drawn by hand. Handwritten solutions will be returned without being graded. For each homework, please make sure each new problem solution starts on a fresh page, and that your name appears at the top of each page. Homeworks are due at the start of the lecture on the due-date, for both MCS (online) and on-campus students (no excuses).

  • All students (on-campus and MCS Online via Coursera) must submit their HWs on Gradescope.com.
  • We will not accept emailed solutions or printed solutions.
  • For Fall 2020 semester, we are making the following exceptions:
    • You can discuss up to 4 (out of 8) problems with a group of at most 2 other students who are in this semester's CS425 class. This is to encourage remote "group work" among students. (We encourage setting up Zoom sessions to discuss.)
    • At least 4 (out of 8) problems must be on your own.
    • For each solution you write, please say at the top of the solution, either "Discussed with: Hermione Granger (netid: hgranger1), Harry Potter (netid: hpotter1),"" OR say "Solved completely on my own".
    • We encourage that with each subsequent homework, you try to monotonically increase the number of questions you solve "on your own". If you can solve all HW4 questions on your own (last homework), that will give you confidence!
  • You can discuss concepts and clarifications of questions with other students and the course staff.

  • Unless otherwise specified, the only resources you can avail of in your HWs are the provided course materials (slides, textbooks, etc.), and communication with instructor/TA via the forum, e-mail, and office hours.

  • Any major corrections will appear in red font in HW document. Please refresh!
  • [HW1 Document]: Released 8/25 (pre-released 8/24). Due @ 9/22 Start of Lecture (11 am US Central). [HW1 Solutions (released 9/25)]
    • Notes: Please see Piazza running post on HW1. (9/6) Minor updates on Q7, Q8 (red font in pdf).
  • [HW2 Document]: Released 9/22. Due @ 10/6 Start of Lecture (11 am US Central). [HW2 Solutions (released 10/7 @10.45 AM US Central)]
    • Notes: Please see Piazza running post on HW2. (9/23) Q1 hash function modified.
    • We cannot accept any submissions after a HW's solutions are released (for whatever reason).
  • [HW3 Document]: Released 10/15. Due @ 11/10, at 11 am US Central. [HW3 Solutions (released 11/18)]
    • Notes: Please see Piazza running post on HW3.
      • (10/20) Q6. Midpoint is 2^31-1 not 2^16-1.
      • (10/26) Q4.i: The phrase should read, "...especially since the set C is obtained by not applying event e=(p,m)...""
  • [HW4 Document]: Released 11/11. Due @ 12/3 Start of Lecture (11 am US Central). [HW4 Solutions (released 12/5)]
    • Notes: Please see Piazza running post on HW4.


    • ALL Students (on-campus, online, MCS-DS) must take both Midterm and Final Exams. For Fall 2020, all exams will be timed and open-book, but they must be individual work, and you should not use the Web (using others or the Web will waste precious time, so we recommending not risking it either!).
    • Midterm Exam around the middle of the semester. See Course schedule (Lectures) for dates and instructions. Calculators ok. NO cheatsheets or cellphones or other devices allowed.
    • Final Exam is at the end of the semester. The schedule is decided by campus, so please don't ask course staff for dates. When campus posts it, we will post it on the course website. Please do not contact us to find out or change final exam date.
    • Makeup/Conflict exams: For Fall 2020 due to flexible schedule, you should ideally not need a conflict exam. If you absolutely need a makeup exam (e.g., medical emergency and you have a doctor's certificate), please contact Indy at least 2 weeks before the posted exam date (midterm/final). Conflict exams are not given for routine reasons (includes interviews, trips, conflicts with other classes, etc.). Conflict request is approved only upon a positive ack from Indy. Indy's decision is final on each case.
    • [Practice Midterm] Released Oct 6. We will not release solutions (but feel free to use Piazza to discuss solutions for the practice midterm (only)).
    • Midterm Solutions (Released 10/21).
    • Midterm Exam PDF (made available for your convenience)

    Regrading Policy

    • This section on regrading policy is for ALL students.
    • All regrade requests must be submitted back within 1 week of the graded HW/MP being returned. Regrade requests must be submitting in the same system as the original HW was submitted in (Gradescope or Coursera). Be sure to clearly indicate the reason for the regrade request.
    • Regrade requests submitted after one week of the HW/MP being returned will not be regraded.
    • All regrading decisions will be final (i.e., no regrade requests on regrades).