Grading Scheme

Grade components:
Students are expected to complete and submit all assigned coursework in good faith; those who fail to do so will earn a failing grade, regardless of overall numerical score.

component % of grade
class participation and groupwork 10
classroom exercises 5
homeworks (about 4) 20
two quizzes (short exams) 10
two midterm exams 20
final exam 20
term project 15
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. See policies below.
Classroom exercises:
Our work in the classroom will include a number of short group exercises, meant to solidify understanding of the concepts being discussed. One or more such exercises are likely to be part of most class meetings. The exercises will be graded primarily for effort, group work, and other contributions, and less so for simple correctness. Since attendance is not mandatory (cf. policies), some low-scoring exercises will be dropped for each student. Please ask for clarifications if there are concerns about the interaction of this component and the attendance policy.
Homeworks include programming and non-programming ones, often mixed. No collaboration is permitted. Everyone is encouraged to discuss the problems and solution strategies at a high level, but the final solution and details must be individual work. If the boundary between permissible and non-permissible interactions is unclear, please ask for clarifications.
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 may be permitted provided it does not cause a disturbance, at the discretion of the proctor. You may use the Internet, but only as a library to look up material you may find useful. Ask for clarifications in case of any doubt. The exams are designed to require no equipment other than a pen and paper, along with the textbook and assigned readings.

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 meeting times, and often in a different location.

Term Project:
In addition to the programming and other homeworks, this course features a term project. Group term projects are strongly encouraged, with groups of two to four students being typical, but individual term projects are also permitted. The details of the project are fairly flexible, and all students are encouraged to propose project that excites them. A few project ideas will also be provided in class for use as term projects, perhaps with some of 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 two weeks before finals week. Further details will be announced in class.