The course introduces students to the design of algorithms that enable machines to "learn". In contrast to the classic paradigm where machines are programmed by specifying a set of instructions that dictate what exactly a machine should do, a new paradigm is developed whereby machines are presented with examples from which they learn what to do. This is especially useful in complex tasks such as natural language processing, information retrieval, data mining, computer vision and robotics where it is not practical for a programmer to enumerate all possible situations in order to specify suitable instructions for all situations. Instead, a machine is fed with large datasets of examples from which it automatically learns suitable rules to follow. The course will introduce the basics of machine learning and data analysis.

There will be a total of 5 assignments in this course, which helps students develop conceptual understanding of the machine learning techniques, as well as technical skills in implementing and comparing learning algorithms. Each teaching assistant is responsible for a particular assignment, including holding a tutorial session for the assignment, answering questions on Piazza, as well as grading the assignment. See the assignments page for more details.

There is a project component to this course, which is required for CS680 students, but optional for CS480 students. The project requires four deliverables: a 1-page proposal, a 4.5-page milestone report, a poster presentation, and a 8-page project report. See the project page for more details.

There will also be a midterm and final exam.

Grading scheme

A detailed breakdown of the project grade is provided on the project page.

Participation is worth 5%, and is based on completion of all assignments by due date (1%), in-class attendance and participation (1%), and participation as a peer reviewer of project posters (3%).

CS 480 CS 680
Participation 5% 5%
5 Assignments 35% (7% each) 25% (5% each)
Midterm Exam 20% 15%
Final Exam 40% 30%
Project 5% bonus (optional) 25% (required)


Academic Integrity

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. See for more information.


A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt, please be certain to contact the department’s administrative assistant who will provide further assistance.


A student is expected to know what constitutes academic integrity (check to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration, should seek guidance from the course instructor, TA, academic advisor, or the Undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, see the Guidelines for the Assessment of Penalties.


A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there are grounds. A student who believes he/she has grounds for an appeal should refer to Policy 72 (Student Appeals).

Note for Students with Disabilities

AccessAbility Services (formerly the Office for Persons with Disabilities), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities, without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.