Bryn Mawr College
CMSC/PHIL 372: Artificial Intelligence
Spring 2012 - Section 001
Syllabus and Schedule | Course Information | Text and
Software |
Course
Policies |
Reference Links |
Week | Date | Topic | Reading |
Assignments |
Comments |
1 | 1/17 | Course overview; What is AI? | skim Ch. 1, McCarthy
paper, Dartmouth
Proposal |
||
1/19 | Intelligent Agents |
Ch. 2 |
Python
Lab Exercise (optional, but strongly
recommended) |
Python tutorial |
|
Search
|
|||||
2 | 1/24 | Problem solving as search | Ch. 3.1-3.3 | PPT version
of slides with animations |
|
1/26 | Uninformed search (BFS,DFS,UCS) |
Ch. 3.4 | same slides as 1/24 |
||
3 | 1/31 | Informed search
(A*) |
Ch. 3.5-3.7 |
Problem Set 1
due in-class |
|
2/2 | Optimization and
Genetic Algorithms |
Ch. 4.1-4.2, Genetic Algorithms | |||
4 |
2/7 |
Adversarial Search | Ch. 5.1-5.3 | Project
1 / Paper 1
due by midnight |
|
2/9 |
Ch. 5.4-5.5, 5.7, 5.9, Schaeffer article | ||||
Reasoning Under
Uncertainty |
|||||
5 | 2/14 | Probabilistic Reasoning | Ch.
13.1-13.8, Skim 7.2 |
||
2/16 | Bayesian
Networks (Part I) |
Ch.
14.1-14.2 |
Problem Set 2 due in-class | ||
6 |
2/21 | Bayesian Networks (Part
II) |
Ch. 14.3-14.4.1 Ch. 14.5.2 |
||
2/23 |
Project 2 / Paper 2 due by midnight | ||||
7* |
2/28 | HMMs and Filters |
Ch. 15.1-15.3 | ||
3/1 | Ch. 15.4-15.6 | Problem Set 3 due in-class | |||
3/6 |
Spring Break |
||||
3/8 | |||||
8 |
3/13 |
Midterm Exam |
|||
3/15 |
Perspectives on AI | Chronology of AI; Ch. 26, Turing article; Searle article | |||
Machine Learning |
|||||
9 |
3/20 |
Reinforcement
Learning |
Sutton
and Barto, Skim Ch. 3,4,6 |
||
3/22 |
Project 3 / Paper 3 due by midnight | ||||
10 |
3/27 |
Supervised
Learning: kNN, Naive Bayes, Linear Models |
|||
3/29 |
|||||
11 |
4/3 |
Supervised
Learning: SVMs |
Problem Set 4 due in-class | ||
4/5 |
|||||
12 |
4/10 |
Supervised
Learning: Neural Nets |
|||
4/12 |
Project 4 / Paper 4 due by midnight | ||||
Planning |
|||||
13 | 4/17 |
Unsupervised
Learning |
|||
4/19 |
No Class -
Prof. Eaton on Travel |
||||
14 |
4/24 |
Review | |||
4/26 |
|
Problem Set 5
due in-class Optional Project/Paper due by midnight |
|||
Kristen Grauman's Lecture on Computer Vision (4/26 @ 4pm) | |||||
TBD |
Final
Exam |
Instructor: | Eric Eaton, Ph.D. |
E-Mail: |
When you e-mail me, make sure you put "CS372" or "PHIL372" at the start of the subject line to ensure a quicker response. E-mail is the best way to reach me, and I make a concerted effort to respond to all e-mails within 24 hours on weekdays and 48 hours on weekends (often, much less!). |
Office Hours: |
Tuesday/Thursday 1-2pm and by
appointment in Park 249 |
Website: | http://cs.brynmawr.edu/Courses/cs372/spring2012/ |
Lecture: |
Tuesday/Thursday 9:45 am to 11:15 am |
Room: | Park 349 |
Lab: | Fridays 10am-Noon in Park Room 231 (Computer Science Lab) |
Course Description: Survey of Artificial Intelligence (AI), the study of how to program computers to behave in ways normally attributed to “intelligence” when observed in humans. Topics include heuristic versus algorithmic programming; cognitive simulation versus machine intelligence; problem-solving; inference; natural language understanding; scene analysis; learning; decision-making.
Artificial Intelligence is, in my opinion, the coolest and most exciting subfield of computer science. In this course, we will explore several major areas of AI, including search, game playing, reasoning under uncertainty, planning, and machine learning. We will also relate these topics to their applications in robotics, computer gaming, medical diagnosis, computer vision, natural language understanding, and many other areas. Google, NSA, and NASA all use AI technology. AI's successes, such as the IBM Deep Blue chess program beating Kasparov (1996), the DARPA Urban Challenge (2007) and Grand Challenge (2005, 2004) autonomous vehicle competitions, and solving checkers (2007) are well-publicized and very popular.
Prerequisite:
Computer Science 206, or Junior standing in Philosophy, or
permission of instructor.
Required Textbook: | |
Stuart J. Russell and Peter Norvig, 2009. Artificial Intelligence: A Modern Approach, 3rd edition, Prentice Hall. ISBN: 0136042597. The website for this book has links to many useful online AI/Python resources. |
|
Recommended
(CMSC only): Some Python reference. I'm
recommending several below. |
|
|
Learning Python, 2nd Edition by Mark Lutz and David Ascher. Published by O'Reilly Media. |
|
Python in a Nutshell by Alex Martelli. Published by
O'Reilly Media. |
|
The Python Tutorial, available online at http://docs.python.org/tutorial/ |
Communication
Attendance and active participation are
expected in every class. Participation includes asking questions,
contributing answers, proposing ideas, and providing constructive
comments.
As you will discover, I am a proponent of two-way communication
and I welcome feedback during the semester about the course. I am
available to answer student questions, listen to concerns, and
talk about any course-related topic (or otherwise!). Come to
office hours! This helps me get to know you. You are welcome to
stop by and chat. There are many more exciting topics to talk
about that we won't have time to cover in-class.
Whenever you e-mail me, be sure to use a meaningful subject line
and include the phrase "CS372" or "PHIL372" at the beginning of
that line. Your e-mail will catch my attention and I will respond
quicker if you do this. I make an effort to respond to e-mails
within 24 hours on weekdays and 48 hours on weekends.
Although computer science work can be intense and solitary, please
stay in touch with me, particularly if you feel stuck on a topic
or project and can't figure out how to proceed. Often a quick
e-mail, phone call or face-to-face conference can reveal solutions
to problems and generate renewed creative and scholarly energy. It
is essential that you begin assignments and projects early, since
we will be covering a variety of challenging topics in this
course.
Grading
Your grade will be based upon five
problem sets, two exams, and either (CMSC) 5 projects or (PHIL) 5
papers.
At the end of the semester, final grades will be calculated as a
weighted average of all grades according to the following weights:
Midterm Exam: | 10% |
Final Exam: | 20% |
5 Problem Sets: | 25% (5% each) |
5 Projects/Papers: |
45% (9% each) |
Total: | 100% |
Incomplete grades will be given only for verifiable medical
illness or other such dire circumstances.
All graded work will receive a percentage grade between 0% and
100%. Here is how the percentage grades will map to final
letter grades:
Rounded Percentage |
Letter grade |
Rounded Percentage | Letter grade | |
97% -100% |
A+ (4.0) |
77% - 79% | C+ (2.3) | |
93% - 96% | A (4.0) | 73% - 76% | C (2.0) | |
90% - 92% | A- (3.7) | 70% - 72% | C- (1.7) | |
87% - 89% | B+ (3.3) | 67% - 69% | D+ (1.3) | |
83% - 86% | B (3.0) | 60% - 66% | D (1.0) | |
80% - 82% | B- (2.7) | 0% - 59% | F (0.0) |
Submission and Late Policy
Problem Sets
All solutions are required to be your own, individual work. I encourage you to discuss methods, concepts, and assignments with anyone; however, the solutions turned in must be your own work. A good rule of thumb is to be alone when you sit down to actually generate solutions to the assigned problems, and to not show your solutions to anyone else.
At the top of your submission, you must include a clear statement specifying the source of any assistance you received on this assignment. This includes any websites you consulted, other students with whom you discussed any of the problems, etc. If you did not receive any assistance, you must say so. Submissions without this statement will be penalized.
Exams
There will be two exams in this course. The exams will be closed-book and closed-notes. They will cover material from lectures, homeworks, and assigned readings (including topics not discussed in class). So, keep up with those readings! In the case of verifiable medical excuses or other such dire circumstances, arrangements must be made with the instructor for a makeup exam before the test date.
Study Groups
I want to encourage you to discuss the material and work together
to understand it. Here are my thoughts on collaborating with other
students:
The readings and lecture topics are group work. Please discuss the readings and associated topics with each other. Work together to understand the material. I highly recommend forming a reading group to discuss the material -- we will explore many challenging ideas and it helps to have multiple people working together to understand them.
It is fine to discuss the topics covered in the homeworks, to discuss approaches to problems, and to sketch out general solutions. However, you MUST write up the homework answers, solutions, and programs individually. You are not permitted to share specific solutions, mathematical results, program code, knowledge representations, experimental results, etc. If you made any notes or worked out something on a white board with another person while you were discussing the homework, you shouldn't use those notes while writing up your answer, however tempted you may be to do so.
You are fully permitted to (and should!) discuss the project with members of your team. I also encourage you to work outside of your team to understand the other topics in the course. However, remember that there will be a competition in parts of the project, so you don't want to give other teams any of your good ideas!
Exams and papers, of course, must be your own individual work.
If you have any questions as to what types of collaborations are allowed and which are dishonest, please ask me before you make a mistake.
Electronic Devices
I have no problem with you using computers or tablets to take
notes or consult reference materials during class. Tempting
though it may be, please do not check e-mail or visit websites
that are not relevant to the course during class. It is a
distraction, both for you and (more importantly) for your fellow
classmates. Please silence your phones and computers when
you enter class.