CS486/686: Introduction to Artificial Intelligence
- Dr. Jesse Hoey, (jhoey [at] cs [dot] uwaterloo [dot] ca)
- Frederic Bouchard (TA)
- Amir Farrag (TA)
- Eshan Ganjidoost (TA)
- Camilo Andres Munoz Bravo (TA)
- Atrisha Sarkar (TA)
- All communication should take place using the
Piazza discussion board.
- Sign up for Piazza (if you're not already) here.
- Public Piazza posts (can be anonymous) are the preferred method for questions about course material, etc. Students can then help each other and instructors can read/reply.
- Private Piazza posts (to instructors only) can be used for any posts that contain solution snippets or private questions.
- Only in exceptional cases where you need to contact only the instructor should you use the personal email above.
Deliverables (Assignment submissions and grades)
- Assignments and grades will be handled through Learn
- If you are not familiar with Learn, see the instructions for using dropboxes to hand in assignments.
Lectures will take place twice per week as follows
- Section 002: Monday/Wednesday 830-950hrs (8:30am-9:50am in MC-1056)
- Section 001: Monday/Wednesday 1130-1250hrs (11:30am-12:50pm in AL-211)
- Midterm: February 8th, 2019, 6:30pm-8:00pm in M3-1006
- Final Exam: April 11th, 2019, 9:00am-11:30am in M3-1006
Office Hours are as follows:
- Jesse Hoey: Thursday 130pm-230pm in DC2584 (Computational Health Informatics Laboratory)
- Special Final Exam Office hours (Jesse):
- Tuesday April 9th, 1230pm-130pm in DC2584 (CHIL)
- Wednesday April 10th, 200pm-300pm in DC2584 (CHIL)
- TAs will hold special office hours for each assignment
- Assignment 1 office hours:
- Friday Jan 25th 11am-12pm (Camilo) in DC3102
- Monday Jan 28th 3pm-4pm (Atrisha) in DC3102
- Friday Jan 25th 1pm-2pm (Frederic) in DC3587 - Desk #5 - MOVED to E7-4404
- Assignment 2 office hours:
- Wednesday Feb 13th 1030am-11:30am (Camilo) in DC-3301 (entrance next to the elevator)
- Wednesday Feb 13th 1:00pm-2:00pm (Frederic) in E7-4404
- Thursday Feb 14th 3:00pm-4:00pm (Atrisha) in E7-4422
- Assignment 3 office hours:
- Friday March 8th 12:30-1:30pm (Amir Farrag) in DC3594
- Tuesday March 12th 9:00-10:00am (Ehsan Ganjidoost) in DC2136B
- Monday March 11th, 1:30pm-2:30pm (Jesse Hoey) in DC2584
- Assignment 4 office hours:
- Tuesday April 2nd 9:00am-10:00am (Ehsan Ganjidoost) in DC2136B
- Friday April 5th 12:30-1:30pm (Amir Farrag) in DC3594
The course will consist of two 1.5-hour in-class sessions per week.
The course content will be delivered in a lecture format, with four assignments, a midterm, and a final exam.
Graduate students must complete a project (optional for undergraduates).
David Poole and Alan Mackworth "Artificial Intelligence: Foundations of Computational Agents". Cambridge University Press, (1st edition: 2010, 2nd edition: 2017).
(available online. The section references below are to the 2nd edition.)
And the useful and informative java applets on the CI-Space website
Russell and Norvig Artificial Intelligence
Ian Goodfellow and Yoshua Bengio and Aaron Courville Deep Learning
For CS486 students:
- Assignments (4) (40% - to be done individually - dates to be announced).
- One and a half hour written midterm examination (15% - Feb 8th, 2019, 630pm-800pm in M3-1006).
- Two and a half hour written final examination (TBA) (45% and must pass the final to pass the course).
- Optional project (5% bonus) (see here for details).
For CS686 (grad) students:
- Assignments (4) (25% - to be done individually - dates to be announced).
- One and a half hour written midterm examination (10% - Feb 8th, 2019, 630pm-800pm in M3-1006).
- Two and a half hour written final examination (TBA) (35%).
- Project (30%) (see here for details).
How and Where to submit
- Assignments are to be done individually unless otherwise stated.
- Submit assignments and receive marks through Learn.
- If you are not familiar with Learn, see the instructions for using dropboxes to hand in assignments.
- No late assignments will be accepted.
- Submit project proposals on LEARN before the midterm.
- Students wishing to write a project (and all CS686 students) must submit a project proposal.
- Submit final projects on LEARN
before the final exam. by April 12th at 5pm (in Project Report dropbox on LEARN)
The design of automated systems capable of accomplishing complicated tasks is at the heart of computer science. Abstractly, automated systems can be viewed as taking inputs and producing outputs towards the realization of some objectives. In practice, the design of systems that produce the best possible outputs can be quite challenging when the choice of outputs is constrained, the consequences of the outputs are uncertain and/or dependent on other systems, the information provided by the inputs is incomplete and/or noisy, there are multiple (possibly competing) objectives to satisfy, the system must adapt to its environment over time, etc. This course provides an introduction to Artificial Intelligence, covering some of the core topics that underly automated reasoning. The modeling techniques that will be covered are quite versatile and can be used to tackle a wide range of problems in many fields including natural language processing (e.g., topic modeling, document clustering), robotics (e.g., mobile robot navigation), automated diagnosis (e.g., medical diagnosis, fault detection), data mining (e.g., fraud detection, information retrieval), operations research (e.g., resource allocation, maintenance scheduling), assistive technologies, human-computer interaction, etc.
See the official official course outline
(not necessarily covered in this order)
- Agents and Abstraction
- States and Searching
- Features and Constraints
- Propositions and Inference
- Reasoning under uncertainty
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
- Machine Learning
- Neural Networks and Deep Learning
- Planning under certainty
- Planning under uncertainty
- Additional topics if time permits
The lecture slides and schedule will be finalised as the course progresses.
- January 7th, 2019: Introduction Slides (88kb) (6-up version (118Kb) )
Readings: Poole and Mackworth (2nd Ed.) 1.1
- January 9th, 2019: What is AI? Slides (52Mb) (6-up version (24Mb))
Readings: Poole and Mackworth (2nd Ed.) 1.1-1.2
- January 14th, 2019: Agents and Abstraction Slides (77Mb) (6-up version (33Mb))
Readings: Poole and Mackworth (2nd Ed.) 1.3-1.10, 2.1-2.3
- January 16th, 2019: States and Searching Slides (1Mb) (6-up version (1.7Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 3 (all)
- January 21st, 2019: Features and Constraints Slides (0.5Mb) (6-up version (1.2Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 4.1-4.8
- January 23rd, 2019: Propositions and Inference Slides (0.4Mb) (6-up version (1.5Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 5.1-5.3, and Chapt. 13.1-13.2
- January 30th, 2019: Planning under certainty Slides (3Mb) (6-up version (3.1Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 6.1-6.4
- January 30th, 2019: Supervised Learning I Slides (0.4Mb) (6-up version (1 Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 7.1-7.3.1,7.4
- February 11th, 2019: Supervised Learning II Slides (0.5Mb) (6-up version (1 Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 7.3.2,7.5-7.6
- February 13th, 2019: Reasoning under Uncertainty I Slides (1.5Mb) (6-up version (2.4 Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 8.1-8.4
- February 25th, 2019: Reasoning under Uncertainty II Slides (3.1Mb) (6-up version (3.0 Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 8.5-8.9
- March 11th, 2019: Learning with Uncertainty I Slides (0.25Mb) (6-up version (0.55 Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 10.1,10.4
- March 13th, 2019: Learning with Uncertainty II Slides (0.52Mb) (6-up version (0.7 Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 10.2,10.3,10.5
- March 18th, 2019: Planning under Uncertainty I Slides (0.42Mb) (6-up version (0.89Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 9.1-9.3
- March 20th, 2019: Planning under Uncertainty II Slides (0.91Mb) (6-up version (1.52Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 9.5
- March 21st, 2019: Planning under Uncertainty III Slides (3.3Mb) (6-up version (4.1 Mb))
Readings: Poole and Mackworth (2nd Ed.) Chapt. 12.1,12.3-12.9
- April 1st, 2019: Affective Computing and Social Dilemmas Slides (16Mb) (6-up version (16 Mb))
- April 3rd, 2019: Recap Slides (68 Kb) (6-up version (160 Kb))
Posted assignments with firm dates:
Upcoming assignments with tentative dates:
- Assignment 1 Due January 29th, 2019 at 5pm (in LEARN dropbox for assignment 1). For TA office hours see above under office hours.
- Assignment 2 and datasets for Q2. Due February
15th 16th, 2019 at 5pm. (in LEARN dropbox for assignment 2).
- Assignment 3 and datasets for Q2 (these are the same as for assignment 2). Due March
11th 13th 18th, 2019 at 5pm 12pm (in LEARN dropbox for assignment 3).
- Assignment 4 and data+code. Due April 5th, 2019 at 5pm (in LEARN dropbox for assignment 4).
OTHER MATERIAL (videos, software, handouts, etc)
University of Waterloo Academic Integrity Policy
The University of Waterloo Senate Undergraduate Council has also approved the following message outlining University of Waterloo policy on academic integrity and associated policies.
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. Check the Office of Academic Integrity's website for more information.
All members of the UW community are expected to hold to the highest standard of academic integrity in their studies, teaching, and research. This site explains why academic integrity is important and how students can avoid academic misconduct. It also identifies resources available on campus for students and faculty to help achieve academic integrity in, and our, of the classroom.
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, to avoid committing academic offenses, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course professor, academic advisor, or the Undergraduate Associate Dean. For information on categories of offenses and types of penalties, students should refer to Policy 71-Student Discipline. For
typical penalties check Guidelines for the Assessment of Penalties.
Avoiding Academic Offenses
Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy.
A decision made or a penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 - Student Appeals.
Note for students with disabilities
The AccessAbility Services Office (AAS), located in Needles Hall, Room 1401, 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 the AAS at the beginning of each academic term.