Lectures: Tues, Thurs 10:05-11:25 pm, BRONF 151
Office hours: Tues, Thurs 11:30-12:30 pm, or by appointment
The official prerequisite for this course is COMP 250 Introduction to
Computer Science . It would be helpful (but not strictly speaking necessary)
if you have some background
in basic discrete mathematics such as set theory and logic which
will be needed to follow some of the proofs and derivations that we cover,
e.g. a course such as MATH 240, 363, or 235.
The specific topics and lecture schedule can be found on the public course web page.
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.
Please follow common sense rules and etiquette for
discussion board postings: be polite, avoid texting shorthand
("ur" instead of "you are", ...), choose a suitable subject line for your posting
and use multiple postings for multiple subjects, keep your postings brief, etc.
In addition, to try to maximize the usefulness of the discussion board and to minimize clutter:
- 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.
Policy on collaboration
We greatly encourage you to discuss the assignment problems with each
other. However, these discussions should not so far that you are sharing
code or giving away the answer.
A rule of thumb is that your discussions should considered public in the
sense that anything you share with a friend should be sharable with
any student in the class.
Your final grade will be calculated using the following percentage breakdown.
The exams are closed book, except for a small number (say max 5) of
doublesided pages of notes.
- 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
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.)
McGill University values academic integrity. Therefore, all
students must understand the meaning and consequences of cheating,
plagiarism and other academic offenses under the Code of Student
Conduct and Disciplinary Procedures. See this link for more
In accord with McGill University's Charter of Students' Rights,
students in this course have the right to submit in English or in
French any written work that is to be graded.