You will be given assignments every two to three weeks, for a total of about 5 assignments. The assignments may be done in groups consisting of one, two, or three students. All the collaborators must be currently enrolled in the course. A single joint solution must be submitted for each group. All submissions must include the names and student numbers of all the collaborators.

Please note: It is often easier to learn new concepts by working together in a group—you may learn more if you work with smart people. This being said, the purpose of group assignments is that all people in a group should be involved in creating the solution. You can of course choose to sign an assignment you haven't done, but then you risk not learning the material, and this will come back to haunt you during the mid-term and final examinations.

A mid-term test will cover mostly functional and logic programming. It is thus tentatively scheduled in the eight week of the term. A final examination will cover the remainder of the course material.

Both the written tests will be offered as take-home exams with a 24-hour turnaround time.

Grading will be based on assignments (20%), the mid-term test (40%), and the final examination (40%). There will be no supplemental examinations.

Late assignment submissions: Late submissions will be accepted subject to a penalty of 10% per day late.

Special needs

Should you require special accommodations because of a disability, please come and discuss this with me at the begining of the term. I will not take into consideration requests made on or after the day in which the first assignment is released. You must also contact the Student Accessibility & Accommodation Services to obtain authorization for any special arrangements.