We'll have a two-hour final exam, weighted the same as a programming assignment. It will include material from the whole semester, but concentrate on the most recent topics (those on which you haven't done a homework assignment).
There will also be a ``brownie points'' score, weighted the same as a programming assignment. The ``brownie points'' score is my purely subjective opinion of how seriously you're taking the course. You gain brownie points by asking good questions in class, coming to my (or the tutors') office hours when you have a problem, etc. You lose brownie points by cheating, by being confused and not doing anything about it, and by doing anything else that annoys the professor.
The final exam must be taken at the scheduled time, unless arranged in advance or prevented by a documented medical or family emergency. If you have three or more exams scheduled on the same date, or a religious holiday that conflicts with the exam date, please notify me in writing within the first two weeks of the semester in order to receive due consideration. Exams not taken without one of the above excuses will be recorded with a grade of 0.