CSE 473: Introduction to Artificial Intelligence

Autumn 2018

Important Links: Calendar, Piazza discussion, Textbook, Assignments, Worksheets

Basic Information

Eligible Students:

Enrollment in this course is limited to those students who are enrolled in the Computer Science and the Computer Engineering degree programs at the University of Washington. Students in other majors, graduate students, and students in exchange programs should take one of the other courses in artificial intelligence offered, such as CSE 415 during Winter 2019.

Course Staff:

Steve Tanimoto
Course Instructor
Off.Hrs: Tu 10-11 in CSE638
(starting Oct. 9).
tanimoto (at) uw (dot) edu

Emilia Gan
Teaching Assistant
Off.Hrs: W 3:30-4:20 in CSE021.
efgan (at) uw (dot) edu

Hamid Izadinia
Teaching Assistant
Off.Hrs: Fr 1:00-2:00 in CSE220.
izadinia (at) uw (dot) edu

Vardhman Mehta
Teaching Assistant
Off.Hrs: Th 10:00-11:00 in CSE007
mehtav (at) uw (dot) edu

Rajneil Rana
Teaching Assistant
Off.Hrs: M 10:30-11:20 in CSE220.
rajneil (at) uw (dot) edu

Calendar: The schedule of lectures and other course events is available in our calendar. You may wish to subscribe to it, in order to see course events listed in your own calendar.


Our primary method of communication will be the Piazza discussion forum.

Class times & locations: Monday, Wednesday, Friday, 2:30-3:20 in SIG 134 (Sieg Hall)

Textbook: Stuart Russell & Peter Norvig, Artificial Intelligence: A Modern Approach, Third Edition (2009)

Pac-Man: The programming projects in this course are based on those from http://ai.berkeley.edu/project_overview.html. This link is provided for reference only as our projects may differ.


Your grade will be 40% homework assignments, 20% midterm, 30% final exam, and 10% class participation.

Each student starts out with two late days which may be used on any assignment. Assignments may be handed in up to five days late, at a penalty of 10% of the maximum grade per day.

Assignments will be done individually unless otherwise specified. You may discuss the subject matter with other students in the class, but all final answers must be your own work. You are expected to maintain the utmost level of academic integrity in the course.

The bulk of the participation score will come from the worksheets we do in class. Normally, each worksheet is worth 1 point, when an honest attempt at completing the activity is turned in by the end of the class in which it is given out. Worksheet credits cannot be made up, even for illness or out-of-town trips; however, you may miss up to 3 worksheets with no effect on your grade. This system incentivizes contributions in-person to our class community, improving the learning environment. Catalyst Gradebook permits instructors to compute totals that automatically drop the three lowest-scoring items, and the plan is to exploit that capability when participation scores are figured. Past worksheets are available to registered students.

Academic Honesty

It is encouraged that you discuss your ideas with each other and consult online sources to better understand the material. However, your code must be written entirely by yourself. As a rule, you should never look at or run anyone else's code for the assignment, whether the code was written by someone currently in the class, or someone who took it previously, even at another university. Reading pseudocode for generic algorithms (like alpha-beta pruning or A* search) is perfectly OK. If you use a source very closely, for example, converting a pseudocode implementation of A* to Python, academic integrity demands that you cite the source (in a comment). You will not be penalized for this; on the contrary, the citation may help us to understand why your implementation is so similar to someone else's, in case they use and cite the same source. We do compare everyone's projects to each other and to past submissions to detect logical redundancy. When two assignments are too similar to have occurred by chance, we have to look into whether something improper occurred. These investigations are not fun for anyone involved. If you have questions, please ask!

Feedback to the Course Staff

You may submit feedback (optionally anonymous) at any time on any aspect of the course using Piazza.

Homework Assignments

Project 0 due October 5 @ 11:59 PM (lead TA: Vardhman)

Project 1: Search due October 15 @ 11:59 PM (lead TA: Emilia)

Project 2: Multi-Agent Search due Oct. 26 @ 11:59 PM (lead TA: Hamid)

Project 3: Reinforcement Learning due Nov. 9 @ 11:59 PM (lead TA: Rajneil)

Project 4: Ghostbusters due Nov. 19 Nov. 21 @ 11:59 PM (lead TA: Vardhman)

Project 5: Pattern Classification due Nov. 28 Nov. 29 @ 11:59 PM (lead TA: Hamid).

Homework 6: Written exercises due Dec. 5 @ 11:59 PM (lead TAs: Q1:Hamid, Q2:Rajneil, Q3:Vardhman, Q4:Vardhman, Q5:Hamid, Q6:Emilia). Note: a maximum of 1 late day may be used on this assignment, and no turn-ins will be allowed after Thursday night at midnight.

Midterm Exam

The midterm exam will be given Friday, November 2 from 2:30 to 3:20. It will closed-book, closed-notes, no electronic devices. Here's a sample midterm and its solutions. Here's another sample midterm and its solutions. Note that the format and coverage this quarter may differ.

Final Exam

The final exam will be given Tuesday, December 11 from 2:30 to 4:20. Like the midterm, it will closed-book, closed-notes, no electronic devices. Sample finals and their solutions are available, linked below. Note that the format and coverage this quarter may differ. Here is a comprehensive list of topics you are responsible for that might be covered on the exam.

Autumn 2017, solutions; Spring 2018, solutions.