Grading Scheme

Grade components:

class participation 5 %
homeworks (about 5) 25 %
two quizzes (short exams)10 %
two midterm exams 20 %
final exam 20 %
independent project 20 %
Class participation:
Students are expected to contribute to learning by asking questions and making relevant comments in class and on the class newsgroup. Quality is more important than quantity. Disruptive activity contributes negatively. Please make sure all disruptive devices are disabled while in class. If you have a good reason for wanting to be disturbed in class, please contact me to make the appropriate arrangements.
Homeworks:
Homeworks include programming and non-programming ones, often mixed. No collaboration is permitted. You are allowed, and encouraged, to discuss the problems and solution strategies at a high level, but the final solution and details must be your individual work. If you are unclear on the boundary between permissible and non-permissible interactions in this regard, please ask me.
Exams and Quizzes:
All exams and quizzes are open book, open notes. You are free to bring with you any resources that you find useful. However, no communications are permitted other than between students and me. The use of computers during exams is strongly discouraged, but brief use is permitted provided it does not cause a disturbance. You may use the Internet, but only as a library to look up material you may find useful. As above, check with me if you are unclear on what is permitted. The exams are designed to require no equipment other than a pen and paper.

Midterm exams will be held during regular class meetings, and will be roughly an hour long. Each quiz is a short exam, roughly half an hour long, held during part of a class meeting. The final exam follows the usual university schedule, and is thus held outside of regular class meetings.

Project:
In addition to the programming and other homeworks, this course features a semester-long independent project. You may work either individually or in groups, although I encourage the latter. The details of the project are fairly flexible, and you are encouraged to propose a project that excites you. I will also propose a few projects that you could use, perhaps with some of your own modifications. The main requirement for the project is that it demonstrate the ability to work independently and apply the concepts studied in the course to an application. Projects will be graded based on a project submission that includes a project report, complete and well-documented source code and build instructions, and a script for a demonstration. These materials will be due the week before finals week, but may be submitted earlier—there is no penalty for early submissions. Further details will follow.