CS63 Artificial Intelligence
Fall 2013

Schedule | Grading | Academic Integrity | Lab Policy | Academic Accommodations


The final exam is on Tuesday, Dec. 10 at 11:20am.

Course Information

Class: T, TH 11:20am – 12:35pm SCI 128
Lab A: W 1:15 – 2:45pm SCI 256
Lab B: W 3:00 – 4:30pm SCI 256

Professor: Lisa Meeden
Office: SCI 243
Phone: 8565


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.


Required Text Book: Artificial Intelligence: A Modern Approach, Third Edition by Stuart Russell and Peter Norvig. This book is also on reserve at Cornell. There will be supplemental readings available as pdfs.

Goals for the course


Grades will be weighted as follows:
5%Class Participation
40%Lab projects
25%Midterm Exam
30%Final Exam

Academic Integrity

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 anyone else's code or let anyone else 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 an assigned 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.

Lab Policy

Labs will be assigned on Wednesdays, during the scheduled lab time, and will be due two weeks later, on Tuesdays by midnight. You will turn in your labs using the handin63 program. 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).

In lab we will be doing a set of Pacman projects that were developed by John DeNero and Dan Klein at UC Berkeley. I have really enjoyed sovling them, and I hope that you will too. These projects are being adopted by many institutions around the world. In exchange for permission to use these projects, I have promised that no one will post the solutions to any part of them. Please do not share your solutions with anyone.

Academic Accommodations

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.


1 Sep 03   Introduction to AI
Russell & Norvig, Ch. 1-2
The Thinking Machine
Python tutorial
Sep 05  
2 Sep 10   Search
Russell & Norvig, Ch. 3
Project 1: Search in Pac-Man
Sep 12 Drop/Add ends (Sep 13)
3 Sep 17   Evolutionary Search
Melanie Mitchell, Ch. 1
Sep 19  
4 Sep 24 Project 1 due Adversarial Search
Russell & Norvig, Ch. 5
Project 2: Multi-Agent Pac-Man
Sep 26  
5 Oct 01   Local Search
Russell & Norvig, Ch. 4 (up to pg 130)
Oct 03 No Class, Lisa attending GHC
6 Oct 08 Project 2 due Review Review

Oct 10

Midterm Exam


Oct 15

Fall Break

Oct 17

7 Oct 22   Machine Learning
Russell & Norvig, Ch. 18
Oct 24  
8 Oct 29   Reinforcement Learning
Russell & Norvig, 17.1-17.3, Ch. 21
Project 3: Reinforcement Learning
Oct 31  
9 Nov 05   Applications of reinforcement learning
Nov 07 Last day to declare CR/NC or W (Nov 08)
10 Nov 12 Project 3 due Neural Networks
Tom Mitchell, Ch. 4
Jeff Elman, Finding structure in time
Project 4: Classification
Nov 14  
11 Nov 19   Embodiment and Robotics
Andy Clark, Introduction from Being There
Nov 21  
12 Nov 26   Successes of AI
Building Watson, AI Magazine article

Nov 28

Thanksgiving Break

13 Dec 03 Project 4 due Philosophical foundations and the Future
Russell & Norvig, Chs. 26, 27
Dec 05  

Dec 10

Final Exam