Introduction to Artificial Intelligence (COMPSCI 270), Spring 2019

Basics
Lecture: TuTh 10:05-11:20am, French Science 2231
Instructor: Vincent Conitzer (please call me Vince). Office hours: immediately after class (we can continue outside the classroom / in my office if needed).
Graduate Teaching Assistants: Alper Bozkurt, Michael Syzochenko, Sahiti Bommareddy.
Undergraduate Teaching Assistants: Alex Rubin, Carolyn Tang, Colter Norick, Faris Sbahi, Gideon Pfeffer, Peter Hase, Will Long.

Helper sessions will be in Gray 228 Monday-Thursday 6-8pm, specifically:
Sun - Gray 228 6pm to 8pm - Faris Sbahi
Mon- Gray 228 6pm to 8pm - Carolyn Tang
Tue - Gray 228 6pm to 8pm - Peter Hase
Wed - Gray 228 6pm to 8pm- Colter Norick
Thur- room TBD 11:40am to 1pm - Will Long

TA office hours starting 1/21:
Monday - Alex - 12 to 2pm - North Building 306
Tuesday - Sahiti - 3pm to 5pm - North Building 303B
Wednesday - Alper -10:15 am to 12:15 - North Building 306
Thursday - Michael - 1:30 pm to 3:30 pm - North Building 306

Textbook: Artificial Intelligence: A Modern Approach, Stuart Russell and Peter Norvig.
We're using Piazza and Gradescope.

Prerequisites
compsci 230 OR 200-level math OR 200-level stats
comfortable programming in general-purpose language -- we will do everything in Python and have a bootcamp for this
some knowledge of algorithmic concepts such as running times of algorithms
some familiarity with probability (we will go over this from the beginning but we will cover the basics only briefly)
not scared of mathematics; ideally, some background in discrete mathematics

If you have a nonstandard computer science background, the course may still be appropriate for you, but maybe talk with me first.

Grading
Assignments: 30%
Midterm exams (tentatively planned for Feb. 19 and March 26, in class): 40%
Final exam: 30%

For the homework assignments, you may discuss them with another person, but you should do your own writeup, programming, etc. This also means that you should not take extremely detailed notes during your meeting with the other person; if you can't remember what you talked about, you probably didn't really understand it... For programming, we should provide you with all the helper code you need. If you're not sure whether you are allowed to use something, please ask (e.g., private Piazza question). In any case, acknowledge your sources, your partner, and anyone else who helped you.

Schedule
Topics generally will require more than one lecture.

Sometimes, a book chapter will include more information than what we cover in class; in those cases, for the purpose of exams, you are only responsible for what we covered in class. Of course, there is lots of interesting material in the other book chapters too.



Date Topic Materials
1/10 Introduction. Chapter 1.
Introduction slides: ppt, pdf.
Brief article on AI.
Homework 0.
Winograd schema example on Google Translate.
1/15 - 1/24; also returned to this (for linear programming) on 2/7. Search. Constraint satisfaction and optimization. Chapters 3, 4, 6.
Homework 1, which uses the helper code from homework1_helpercode.zip.
Search slides: ppt, pdf.
More search slides: ppt, pdf
If you would like to learn more about linear and integer programming, you can go to the website of a course I taught recently; especially the introduction and branch and bound lecture notes might be useful.
1/29, 1/31 Game playing. Chapter 5.
Slides: ppt, pdf.
Homework 2, homework 2 files.
1/31 - 2/21 Logic. Chapters 7, 8, 9.
Slides:
Propositional logic: ppt, pdf.
First-order logic: ppt, pdf.
Homework 3.
A page about the "Which horse do you want to / wanna win?" point.
2/26, 2/28 ? Planning. Chapter 10. See also this version of the chapter for partial-order planning (11.3).
Slides:
Planning slides: ppt, pdf.
Homework 4, which uses the helper code from hw4_helper_code.zip.
3/5 - 4/4 Probabilistic reasoning. Chapters 13-15.
Probability slides: ppt, pdf.
Bayes nets slides: ppt, pdf.
Markov processes and HMMs slides: ppt, pdf.
Homework 5, which uses the helper code from hw5_helper_code.zip.
4/4 - 4/18 Decision theory. Markov decision processes, POMDPs. Game theory. Chapters 16, 17.
Homework 6.
Decision theory slides: ppt, pdf.
MDP/POMDP slides: ppt, pdf.
Game theory slides: ppt, pdf.
4/23 Machine learning (briefly). Determining objective functions (bonus topic). Chapter 18 and some of the subsequent chapters if you're interested. (You do not need to know this in great detail since we spent so little time on this in class, these readings are just in case you're interested.)
Machine learning slides: ppt, pdf.
Optional (not covered in class): Determining objectives slides: pptx, pdf. See also paper here.
5/4, 2pm Final exam.