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:

We're using Piazza and Gradescope.

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.

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.

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. Slides: Planning slides: ppt, pdf. |

3/5 - ? | Probabilistic reasoning. | Chapters 13-15. Probability slides: ppt, pdf. Bayes nets slides: ppt, pdf. |

Decision theory. Markov decision processes, POMDPs. Game theory. | Chapters 16, 17. |