I reserve the right to make minor modifications in the grading breakups. Any such changes will be announced in the class and posted on this web page. Grades will be determined as follows:
The course is organized as a mixture of textbook lectures and discussions from important research papers. Students are required to read and evaluate papers in the reading list in advance of each class session. An important research skill is the critical reading of related research papers; the ability to argue for and against ideas presented in each paper. Also, an important goal of this course is to encourage discussion among the class members. Most ideas in systems are developed through such healthy discussions. Students are encouraged to ask questions, suggest new ideas, point out weaknesses and make general observations. Even though the questions are expected to be related to the topic, students will not be judged by the quality of questions that they ask.
To ensure interactive class sessions and to test for understanding of the material, I will pick three students at the beginning of the class:
- The first student will summarize the salient features of the paper.
- The second student will be a proponent and discuss the strengths of the paper
- The third student will be an opponent and will discuss the weakneses of the paper
If you haven't prepared for the paper, you can request a "PASS". If you are absent (unexcused absence) when I pick your name, I consider that an "PASS". If you haven't read the paper and try to futz your way through, I will consider than an administrative "PASS". More than two PASS will result in automatic administrative withdrawal from class.
There will be a open-book, in-class mid term and final exam.
We will have two take home assignments; mid point between the midterm and final exams. These assignments are designed to help you prepare for the midterm and final exam. You may have to perform experiments to answer some of the questions.
Course projects form a significant portion of the course grade. Depending on your prior proficiency in Operating systems, you can choose one of two different style of projects. Please talk with me regarding which option is right for you. They are designed to better suit your proficiency level.
- Option 1: Home work projects + Course project
- Who should take this option:
If this is your first systems course (OS, Distributed Systems etc.) and/or you are not comfortable with significant course projects, you may want to use the small home work projects to bring yourself upto speed.
- Component 1.1: Small Homework Projects: 24% (6 x 4%)
During the first several weeks, we will have six small group projects that will take a week to complete. Each group will consist of two students, one of whom is preferably well versed in programming. These project will emphasize actual implementations of ideas that we learn in class. The projects will be assigned on Tuesday and are due the next week thursday (the next assignment would've assigned on the following tuesday). Each project is due before the beginning of class on the due date. The projects shall be turned in electronically. Late submissions will not be graded (late even by a second!!)
- Component 1.2: Course Project: 26%
A major portion of this course grade will consist of a term research project culminated by a public presentation and research report. At the end of the course, I will meet each student individually for an oral exam, covering topics that we have learnt in the course as well as detailed specifics of your project. More details on the course project are available here
- Option 2: Course project (50%)
With this option, you can focus on your course projects right away. Of course, I expect the quality of projects in this option to be commensurate with the grade distribution for projects (50% vs 26%) . You can follow the same course project milestones as Component 1.2. Note that I expect you to better manage your times; you should not use the apparent lull in the beginning of the course to wait till the last moment to start your course project.
In general, I will only re-evaluate your homework/assignment/midterm/final grades for arithmetic errors, omissions etc. only. If you disagree with any partial credits, the foot ball penalty principle applies. You have to give me your work, along with a written statement on why you think you deserve better grades on the work that you had turned in originally and how much extra grade that you think you are deserved. I will evaluate your appeal. If I agree with you, I will update your scores. On the other hand, if I disagree with you, I will take away the grades that you had asked for. For example, for a question that was worth 10 points, if I had given you 6 points and you think you deserve 8 points, after a re-evaluation, if I agree that you deserve extra credits; you could get upto 8 points. If I disagree with you, I will downgrade your grade to 4 points. In general, re-evaluations are not encouraged.
This principle (which applies throughout this course) simply states that a reasonable request made in a reasonable fashion shall be reasonably handled by reasonable persons. The TAs and instructor are reasonable people, and we expect that everyone else involved in this class is as well. Asking to be a special case to turn stuff in late is not a reasonable request, barring extreme circumstances. In general, I do not accept late submissions (even if you are late by a second). For home work submissions, I will use on blah.nd.edu as the reference clock. Please contact me regarding unforeseen emergencies.
Collaboration is a very good thing. Students are encouraged to work together and some programming projects will require a team effort with everyone expected to contribute.
On the other hand, cheating is considered a very serious offense. Please don't do it! Concern about cheating creates an unpleasant environment for everyone.
So how do you draw the line between collaboration and cheating? Here's a reasonable set of ground-rules. Failure to understand and follow these rules will constitute cheating, and will be dealt with as per university guidelines.
This rule says that you are free to meet with fellow students(s) and discuss assignments with them. Writing on a board or shared piece of paper is acceptable during the meeting; however, you may not take any written (electronic or otherwise) record away from the meeting. This applies when the assignment is supposed to be an individual effort. After the meeting, engage in a half hour of mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain.
To assure that all collaboration is on the level, you must always write the name(s) of your collaborators on your assignment. Failure to adequately acknowledge your contributors is at best a lapse of professional etiquette, and at worst it is plagiarism. Plagiarism is a form of cheating.
In intra-team collaboration where the group, as a whole, produces a single "product", each member of the team must actively contribute. Members of the group have the responsibility (1) to not tolerate anyone who is putting forth no effort (being a sponge) and (2) to not let anyone who is making a good faith effort "fall through a crack" (to help weaker team members come up to speed so they can contribute). We want to know about dysfunctional group situations as early as possible. To encourage everyone to participate fully, we make sure that every student is given an opportunity to explain and justify their group's approach.