Artificial Intelligence (AI) is the branch of computer science that is concerned with the automation of intelligent behavior. Intelligent behavior encompasses a wide range of abilities. As a result, AI has become a very broad field that includes search, game playing, reasoning, planning, natural language processing, modeling human performance (cognitive science), machine learning, and robotics. This course will focus on a subset of these topics, specifically search and machine learning, while also drawing connections to cognitive science. In search, we will see familiar techniques such as depth-first and breadth-first, as well as new techniques such as A*, minimax, and genetic algorithms applied to AI problems. In machine learning, which is concerned with how to create programs that automatically learn from experience, we will explore reinforcement learning and neural networks. The first half of the semester will focus on search, and the second half of the semester will focus on machine learning.
5% | Class Participation |
5% | Reading Quizzes |
30% | Labs |
25% | Exam 1: Thursday, Feb. 26 |
25% | Exam 2: Thursday, Apr. 16 |
10% | Final Project |
Academic honesty is required in all of your work. Under no circumstances may you hand in work done with (or by) someone else under your own name. Your code should never be shared with anyone; you may not examine or use code belonging to someone else, nor may you let anyone else look at or make a copy of your code. This includes, but is not limited to, obtaining solutions from students who previously took the course or code that can be found online. You may not share solutions after the due date of the assignment.
Failure to abide by these rules constitutes academic dishonesty and will lead to a hearing of the College Judiciary Committee. According to the Faculty Handbook: "Because plagiarism is considered to be so serious a transgression, it is the opinion of the faculty that for the first offense, failure in the course and, as appropriate, suspension for a semester or deprivation of the degree in that year is suitable; for a second offense, the penalty should normally be expulsion."
Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read any other student's code or let another student read your code. All code you submit must be your own with the following permissible exceptions: code distributed in class, code found in the course text book, and code worked on with a partner. In these cases, you should always include comments that indicate on which parts of the assignment you received help, and what your sources were.
Labs will be assigned on Fridays, during the scheduled lab time, and will be due on Thursdays by midnight. Some labs will be two weeks in duration, while others will only be one week long. Even if you do not fully complete a lab, you should submit what you have done to receive partial credit.
Late labs will only be accepted if you contact me at least a day before the deadline with a legitimate reason for needing extra time (such as an illness or needing to leave campus).
If you believe that you need accommodations for a disability, please contact Leslie Hempling in the Office of Student Disability Services (Parrish 113) or email lhempli1@swarthmore.edu to arrange an appointment to discuss your needs. As appropriate, she will issue students with documented disabilities a formal Accommodations Letter. Since accommodations require early planning and are not retroactive, please contact her as soon as possible. For details about the accommodations process visit Student Disability Services. You are also welcome to contact me privately to discuss your academic needs. However, all disability-related accommodations must be arranged through the Office of Student Disability Services.
WEEK | DAY | ANNOUNCEMENTS | TOPIC & READING | LABS |
1 | Jan 20 | Introduction to AI Tues: R&N, Ch. 1 (pg 1-29) Thur: R&N Ch. 2 (pg 34-57) The Thinking Machine | Using git Lab 1: Pac-Man Agents | |
Jan 22 | ||||
2 | Jan 27 | Search Tues: R&N, Ch. 3 (pg 64-81) Thur: R&N, Ch. 3 (pg 81-91) | Lab 2: Search in Pac-Man | |
Jan 29 | Lab 1 due | |||
3 | Feb 03 | Informed and Local Search Tues: R&N Ch. 3 (pg 92-107) Thur: R&N, Ch. 4 (pg 120-130) | ||
Feb 05 | ||||
4 | Feb 10 | Evolutionary Search Tues: Mitchell, Ch. 1 (pg 2-12) | Lab 3: Genetic Algorithm | |
Feb 12 | Lab 2 due | |||
5 | Feb 17 | Adversarial Search Tues: R&N, Ch. 5 (pg 161-167) Thur: R&N, Ch. 5 (pg 167-174) | None | |
Feb 19 | Lab 3 due | |||
6 | Feb 24 | Review Exam 1 in class Feb. 26 | Lab 4: Game playing | |
Feb 26 | ||||
7 | Mar 03 | Machine Learning Tues: R&N, Ch. 18 (pg 693-697) Thur: R&N, Ch. 18 (pg 697-710) | None | |
Mar 05 | Lab 4 due | |||
Mar 10 | Spring Break | |||
Mar 12 | ||||
8 | Mar 17 | Markov Decision Processes Tues: R&N, Ch. 17 (pg 645-658) Thur: Guest David Mimno '99 | Lab 5: Reinforcement Learning | |
Mar 19 | ||||
9 | Mar 24 | Reinforcement learning Tues: R&N, Ch. 21 Thur: Tesauro's TDgammon | ||
Mar 26 | Last day to declare | |||
10 | Mar 31 | Neural Networks Tom Mitchell, Ch. 4 Tues: pgs 81-89 Thur: pgs 89-91, 95-99, 104-116, 122-123 (summary) | Lab 6: Neural Networks | |
Apr 02 | Lab 5 due | |||
11 | Apr 07 | Embodiment and Robotics Subsumption Architecture | Lab 7: Subsumption architecture | |
Apr 09 | Lab 6 due | |||
12 | Apr 14 | Review Exam 2 in class April 16 | Lab 8: Machine learning project | |
Apr 16 | Lab 7 due | |||
13 | Apr 21 | Philosophical foundations and the Future Tues: R&N Ch. 26: pgs 1020-1033 Thur: R&N Ch. 27: all | Work on project | |
Apr 23 | ||||
14 | Apr 28 | State of the art in AI Tues: Deep Mind Article1, Article2 Thur: Watson | Complete project Template | |
Apr 30 | Final project due (May 04) |