Grades will be determined as follows (28% - exams, 56% - assignments, 16% - projects):
There will be a open-book, open-paper and closed laptop mid term and final exam. Mid term will be a 1 hour exam and the final will be a 2 hour exam.
We will have seven take home assignments, each due roughly once every two weeks. You may have to perform simple experiments to answer some of the questions.
The course will require two (preferably groups of size two) projects.
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.
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). Please contact the instructor 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.