There is no required textbook. Lecture slides will be made available in PDF form on the public course web page along with links to other material including online courses (videos), and exercises which will reinforce and broaden your understanding of the material.

- do not email the instructor or T.A.s privately with technical questions about the course material or course itself. Use the discussion board instead, so that everyone can benefit from the answer.
- If someone helps you out by answering your question that you have posted and you wish to send a 'thank you' note, please do so with a private email rather than with a discussion board posting.
- If you would like your posting to be removed (e.g. because you realized that your question made no sense, et), please add a request within the thread and the instructor will take care of it.

- Assignments (25 % total). There will be four assignments (programming in Java). You will be given about 10 days to complete each assignment.
- Two 80 minute in-class Midterm Exams (2 x 12.5% = 25% total). Dates and location(s) will be announced on the public web page.
- Final Exam (50 %, or 75% -- see below) held during Final Examination Period.
- McGill grading system says that 85 or above in a A, 80-84 is an A-, 75-79 is a B+, etc. For non-integer final grades, I use the following round-off policy. If your final grade is x + [0-.4999] where x is an integer, then it rounds down to x, whereas if your grade is x +[.5-.999] then it rounds up to x+1. So for example, 74.49 rounds to 74 which is a B and 74.5 rounds up to 75 which is a B+.

No electronic devices are allowed.

If your percentage grade on the Final Exam is greater than your percentage grade on the two midterms, then your Final Exam grade will count for 75 % of your final grade and the two midterms will count for 0%. This policy allows some flexibility, for example, if you do not write one or both of the midterms.

Policy on re-grading: if you wish me to re-grade a question on an exam (or assignment), I will do so. However, to avoid grade ratcheting, I reserve the right to re-grade other questions on your exam as well.

Policy on bonus points: It is helpful to me and to other students if you inform me of errors in the lecture slides, exercises, or assignments. For this reason, I will give a small bonus in your final grade if you point out such errors.

Policy on final grades: I realize that there are many factors that determine your grades. These include how interested you are, how hard you work and how talented you are, but also whether you have fewer hours to do the work because you have a part time job or other assignments/exams around the same time, whether you have a long commute to school, whether you were adequately prepared for the course by having done well in the prerequisites, what you health situation is, what sort of family issues or emergencies you have to deal with, etc. When I assign your final course grade, I do not take these factors into account. I assign the final grade only based on your assignment and exam scores. I use a formula and the same formula applies to everyone. That is the only way I can be fair. (The only exceptions are if you have a medical circumstance that is officially reported to McGill, and in this case I need to know beforehand, and the bonus points I mentioned above.)