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:
We will have four home work projects (groups of two - two projects before spring break and two after spring break) that will usually take three weeks to complete. These project will emphasize actual implementations of ideas that we learn in class. Each project is due before the beginning of class on the due date. The projects shall be turned in electronically. All the programs should contain a README file describing the programs and special instructions on how to compile and run the program. The programs should compile without any assistance. The instructor will not alter any code in order to compile the project. MAKE SURE THAT YOUR PROGRAM WORKS PROPERLY BEFORE YOU SUBMIT IT. No credit will be given for programs that fail to compile/run. Late submissions will not be graded (late even by a second!!).
Take home assignment: 40% (4x10%)
We will have four take home assignments; two before spring break and two after spring break. You may have to perform experiments to answer some of the questions.
There will be a open-book, in-class mid term and final exam
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.