CSE 486/586
Distributed
Systems

Spring 2020

 
Course Info
Schedule
PAs
Practice Problems
Syllabus

Syllabus Note

It is entirely your responsibility to follow these policies. Please make sure you read it thoroughly and ask the instructor if you have any questions. Thanks to Kris Schindler, Atri Rudra, and Carl Alphonce for allowing us to adapt their policies.

Coronavirus Emergency Plan

  • First of all, the teaching staff for CSE 486/586 understands that this is a difficult time for you. We will do our best to provide the education that you deserve. During this period, if you have any concerns, please do not hesitate to contact us.
  • All lectures will be recorded and released. Each lecture will be available before its scheduled regular class time. For example, the Paxos lecture is scheduled on 3/27 and the recording will be available before 1 pm on 3/27. It is entirely your responsibility to watch these recordings. But if you have any concerns about this, please let Steve know as soon as possible.
  • During regular class times, the instructor (Steve Ko) will be available online through WebEx to answer questions (but depending on how it goes, we might use a different platform in the future). This will be general office hours open for everybody, and you can ask questions about lectures or other assignments. But this is going to be a public one, i.e., everyone will be present together and participating at the same time. If you need to chat with the instructor or a TA privately, you will have to use other office hours (see the next point).
  • All office hours will be held through WebEx during their regular times (again, depending on how it goes, we might use a different platform in the future). We will update our office hour information on Piazza with the WebEx information. At least in the first couple weeks, we will try having one-on-one sessions to see how that works. WebEx allows a waiting queue, and we will use it to have one-on-one sessions on the first-come-first-served basis. The maximum time for each session will be 10 minutes. When the time is up for a student, the student can get back in the queue and wait again.
  • For PA2B, the 20% penalty deadline will be 4/6 11:59 pm, i.e., there is now a two-week extension for the 20% penalty for PA2B.
  • For PA3 and PA4, the deadline will be 5/17 11:59 pm. The 20% penalty deadline for PA3 and PA4 will be 5/19 11:59 pm. Please understand that due to the school's final grading deadline, we can't have any further extension. We will also re-arrange lectures so that you can start doing PA4 as early as possible. Please note that the reason for an end-of-the-semester deadline is to give you more time and help. If you don't plan well or procrastinate, a long deadline could be a real bad thing for you. So regardless of the deadline, please start your PAs as early as possible.
  • Re-grading will be done as before, but you will need to share your screen to show how your code works. When you join a TA's WebEx room for re-grading, the TA will tell you exactly what to do.
  • For the final, we will either find a way to do it or replace it with something else. This has not been decided yet and we are currently exploring options. We will update you on this as soon as possible.

Grading

  • Midterm - 20 %
  • Final - 30 %
  • Programming Assignment 1 - 5 %
  • Programming Assignment 2A - 5 %
  • Programming Assignment 2B - 10 %
  • Programming Assignment 3 - 10 %
  • Programming Assignment 4 - 20 %

Late Submission Policy

  • Completed programming assignments are to be submitted by their deadline.
  • Late submissions are allowed for one day and will result in a 20% penalty. A day is defined as 24 hours after the day/time the assignment is due (excluding weekends or school holidays).
  • No help will be available from the TAs or from the instructor for a programming assignment after its scheduled due date.
  • After one day, no submissions will be accepted.

Homework Policy

  • Homework assignments will also be given, but they will not be graded. They are used to help students become proficient with the material.

Regrading Policy

  • Programming assignments and exams may be submitted for regrades to correct grading errors.
  • Regrade requests are due no later than one (1) week after the scores are posted.
  • Regrade requests must be clearly written and attached to the assignment.
  • Regrades requests are intended to correct grading errors, NOT for negotiating a higher grade. When work is submitted for regrade, the entire work may be regraded, which may result in a lower grade.
  • Work done in pencil may not be considered for regrade.

Exam (and Quiz) Policy

  • No makeup exams will be given except in provably extreme circumstances.
  • Notify your instructor 24 hours prior to the exam via e-mail or telephone (voice mail) if you are going to miss an exam. If it is medically impossible for you to give prior notice, please obtain a note from a physician detailing the period (and the reason) you were medically incapable of communicating with the instructor.
  • If you miss an examination because of sickness or similar reasons, visit a physician and obtain a note detailing the period and the reason you were medically incapable of taking the exam.
  • You are responsible for knowing about the exam dates: you will get plenty of notice about the exam dates. Please plan your travel and other activities accordingly.
  • Exam times are stressful and one could forget about the exam time. Please make sure you arrange for multiple reminders so that you do not forget about the exam(s).

Grading Policy

  • No "I" (Incomplete) will be given except under provably extreme circumstances.
  • There is no grade negotiation at the end of the semester.

Disabilities

  • If you have a diagnosed disability (physical, learning, or psychological) that will make it difficult for you to carry out the course work as outlined, or that requires accommodations such as recruiting note-takers, readers, or extended time on exams or assignments, please advise the instructor during the first two weeks of the course so that we may review possible arrangements for reasonable accommodations. In addition, if you have not yet done so, contact the Office of Disability Services.

Academic Integrity

  • All work submitted for CSE 486/586 must be your own and must be done on an individual basis. We have zero tolerance on cheating (homework, a PA, or an exam), which will result in automatic failure of the course.
  • Under any circumstance, you should not copy others' code.
  • You need to get permission first when you copy from other sources, e.g., the Web, books, etc. If you get the permission, then you also need to clearly comment in your code which part you copied. This is for your protection; otherwise, the course staff might not know whether you have gotten the permission or not.
  • The exception is Android Developers. It contains many useful coding examples, and you are free to copy any code from there. However, you still need to clearly comment in your code that you copied from the developer website. Again, this is for your protection.
  • We will follow CSE Department Policies on Academic Integrity.
  • Additionally, the university has the following statement on academic integrity (Source: http://www.cse.buffalo.edu/undergrad/policy_academic.php).

    The academic degrees and the research findings produced by our Department are worth no more than the integrity of the process by which they are gained. If we do not maintain reliably high standards of ethics and integrity in our work and our relationships, we have nothing of value to offer one another or to offer the larger community outside this Department, whether potential employers or fellow scholars.

    For this reason, the principles of Academic Integrity have priority over every other consideration in every aspect of our departmental life, and we will defend these principles vigorously. It is essential that every student be fully aware of these principles, what the procedures are by which possible violations are investigated and adjudicated, and what the punishments for these violations are. Wherever they are suspected, potential violations will be investigated and determinations of fact sought. In short, breaches of Academic Integrity will not be tolerated.
  • Departmental Statement on Academic Integrity in Homework and Programming Assignments

    All academic work must be your own. Plagiarism, defined as copying or receiving materials from a source or sources and submitting this material as one's own without acknowledging the particular debts to the source (quotations, paraphrases, basic ideas), or otherwise representing the work of another as one's own, is never allowed. Collaboration, usually evidenced by unjustifiable similarity, is never permitted in individual assignments. Any submitted academic work may be subject to screening by software programs designed to detect evidence of plagiarism or collaboration.

    It is your responsibility to maintain the security of your computer accounts and your written work. Do not share passwords with anyone, nor write your password down where it may be seen by others. Do not change permissions to allow others to read your course directories and files. Do not walk away from a workstation without logging out. These are your responsibilities. In groups that collaborate inappropriately, it may be impossible to determine who has offered work to others in the group, who has received work, and who may have inadvertently made their work available to the others by failure to maintain adequate personal security. In such cases, all will be held equally liable.

    These policies and interpretations may be augmented by individual instructors for their courses. Always check the handouts and web pages of your course and section for additional guidelines.
  • Departmental Policy on Violations of Academic Integrity

    Any student accused of a violation of academic integrity will be so notified by the course director. An informal review will be conducted, including a meeting between these parties. After this review and upon determination that a violation has occurred, the following sanctions will be imposed. It is the policy of this department that, in general, any violation of academic integrity will result in an F for the course, that all departmental financial support including teaching assistantship, research assistantship or scholarships be terminated, that notification of this action be placed in the student's confidential departmental record, and that the student be permanently ineligible for future departmental financial support. A second violation of academic integrity will cause the department to seek permanent dismissal from the major and bar from enrollment in any departmental courses. Especially fiagrant violations will be considered under formal review proceedings, which may in addition to the above sanctions result in expulsion from the University.