What does it mean for a computer agent to be intelligent? Can we build computers that act or reason intelligently? This course introduces core concepts and algorithms in artificial intelligence, in the areas of problem solving, search, logical reasoning, and planning. The course also provides an overview of application areas of artificial intelligence including robotics, natural language communication, and human-agent interaction.

Time and Location
Tues/Thurs 11:30 AM-12:45 PM
Reese 301

Instructor
Heather Pon-Barry
ponbarry at mtholyoke dot edu
Office: Clapp 226
Phone: x2241
Office Hours: Thurs 3:00-4:00/Fri 2:00-3:00 PM or by appointment

Prerequisites
CS 211 (data structures) and Math 232 (discrete math), or permission from the instructor. You should be comfortable designing programs and writing code, and you should be comfortable with mathematical reasoning. If you have any questions about whether you have the right background, please talk to me.

Required Textbook
Artificial Intelligence: A Modern Approach (Third Edition)
Authors: Stuart Russell and Peter Norvig
Publisher: Prentice Hall
ISBN: 978-0136042594

Be sure to note the edition. The cover should be blue and white. If it’s green, then it’s the second edition. You may be okay using the second edition but you are responsible for determining the alignment of the sections.
The majority of the readings will be drawn from the textbook, so it is necessary that you have access to a copy of the book. The library has a copy of the textbook on 3-hour reserve.

Piazza: We will use Piazza for announcements and for Q&A.

Grading

You will have opportunities to earn bonus points throughout the semester. The bonus points will not count directly towards your grade, but they will be factored in if your final letter grade is near a boundary such as A-/B+.

Participation: This includes constructive participation in small group and whole-class discussions, a presentation of your final project, informal presentations throughout the semester, giving structured feedback to your peers, and arriving to class on-time.

Homework: Assignments will be due approximately once a week through mid-November. They will be a mixture of written exercises, programming exercises, and reading responses.

The programming assignments will be in python. If you are new to python, this is an excellent opportunity to get some experience with it! The intensity of the programming assignments throughout the semester will be designed so that students who are comfortable programming but new to python will be able to succeed. Two good introductions to python: Google’s python class and the python tutorial from the Berkeley NLP group.

You can use up to 3 free late days on the homework assignments (<= 24 hours counts as 1 day). After your late days are spent, late homework will be penalized 15% per day late.

Midterm Exam: There will be one in-class midterm exam.

Final Project: Students will have the opportunity to explore a topic of interest in the final project. Project guidelines will be distributed mid-semester.

Accommodations: If you have a disability for which you require accommodations, please make an appointment to see the instructor within the first two weeks of classes so that we can make appropriate arrangements. You will need to have a letter from the AccessAbility Services Office, located in Wilder Hall B4 (phone: 413-538-2634, ).

Academic Integrity: In all your work for this class, it is very important for you to follow the Honor Code: I will honor myself, my fellow students, and Mount Holyoke College by acting responsibly, honestly, and respectfully in both my words and my deeds. If you are not sure how this applies in a particular context, please ask for clarification. Collaboration on homework assignments is encouraged. However, when you write up your work, it is important that you only write what you understand, and that it is in your own words. If you have any questions about what constitutes an Honor Code violation in this class please ask your instructor.

Schedule
Topics are subject to change. Readings should be done prior to the associated lecture topic. Lecture slides are posted to Piazza.

Day Topic Reading Assignment
Sept 4 Introduction, course logistics [Optional] Ch. 1
Sept 9 Uninformed search Ch. 3.1 – 3.4
Sept 11 A* search, heuristics Ch. 3.5 – 3.6 Assignment 0 out (due 9/17)
Sept 16 CSPs Ch. 6.1 – 6.4
Sept 18 Game trees Ch. 5.1 – 5.3 Assignment 1 out (due 9/28)
Sept 23 Logical reasoning Ch. 7.1 – 7.5 (skim 7.6 – 7.7)
Sept 25 Reasoning and inference Ch. 8
Sept 30 Markov Decision Processes Ch. 17.1 Assignment 2: Turing Response (due 10/6)
Oct 2 MDPs continued Ch. 17.2 – 17.3 Assignment 3 out (due 10/14)
Oct 7 Discussion: Turing “Computing Machinery and Intelligence” (Turing, 1950)
Oct 9 Review Ch. 15.1 – 15.2
Oct 14 Fall Break
Oct 16 HMMs Ch. 15.3 (skim 15.4)
[Optional] J&M Ch. 7
Oct 21 HMMs; Viterbi decoding Ch. 23.5 Assignment 4 out (due 10/28)
Oct 23 Guest Lecture: Elif Yamangil J&M Ch. 5.1-5.2
Oct 28 Review
Oct 30 In-class midterm
Nov 4 Speech Recognition Assignment 5: Watson Response (due 11/7)
Nov 6 Discussion: Watson “Building Watson: An Overview of the DeepQA Project” (Ferrucci et al., 2010)
Nov 11 Dialogue; dialogue systems
Nov 13 Planning
Nov 18 Planning
Nov 20 Reinforcement learning
Nov 25 Robot navigation Ch. 25
Dec 2 Robot localization
Dec 4 Final presentations
Dec 9 [ NO CLASS ]