CS63 Artificial Intelligence
Spring 2016

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


  • Lab 10 has a new due date May 9.

Course Information

Class: MWF 9:30am – 10:20am SCI 183
Lab C: T 9:40 – 11:10pm SCI 240

Professor: Lisa Meeden
Office: SCI 243
Office Hours: Thursdays 2-4pm
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 simulated annealing 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.


Much of the reading for this class will come from the following textbook, which is available online:

Artificial Intelligence: Foundations of Computational Agents, David Poole and Alan Mackworth

Additional online readings will be provided for some topics. To prepare for reading quizzes, you should read the assigned pages prior to the class meeting on which they are assigned. Be sure to look at the schedule to find the reading assignments for each week.

Goals for the course


Grades will be weighted as follows:
5%Class Participation
10%Reading Quizzes
25%Exam 1, in lab on Feb. 23
25%Exam 2, in lab on Apr. 12

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 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.

Lab Policy

Labs will be assigned on Tuesdays, during the scheduled lab time, and will be due on Mondays by midnight. 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.

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. 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.



Jan 18

No class: MLK Day

Introduction to AI
Lab 0: Maze search

Jan 20


Jan 22



Jan 25

State Space Search

State Space Search
Lab 1: Traffic Jam

Jan 27

Uninformed Search

Jan 29

Informed Search


Feb 01

Drop/add ends

Local Search

Local Search
Lab 2: TSP

Feb 03

Anealing and Beam Search

Feb 05

Genetic Algorithms


Feb 08

Game Search

Game Search
Lab 3: Hex Game

Feb 10

Alpha-Beta Pruning

Feb 12

Normal Form Games


Feb 15

Monte Carlo Tree Search

Monte Carlo Search
Lab 4: General Game Playing

Feb 17

Implementing MCTS

Feb 19

Wrapping up Games


Feb 22

Review for Exam 1

Introduction to Machine Learning
Exam 1 in lab

Feb 24

Machine learning

Feb 26

Decision Trees


Feb 29

Introduction to ANNs

Neural Networks
Chapter 4: Artificial Neural Networks from Machine Learning, by Tom Mitchell
  • M: 4.1-4.4 (up to pg 89)
  • W: 4.5 (up to pg 99)
  • F: 4.6-4.7
Lab 5: Neural Networks

Mar 02


Mar 04

Applications of ANNs


Mar 07

Spring Break

Mar 09

Mar 11


Mar 14

Naive Bayes

Supervised Learning Lab 6: Classification

Mar 16

K Nearest Neighbors

Mar 18

Support Vector Machines


Mar 21

Reinforcement Learning

Reinforcement Learning Lab 7: Reinforcement Learning

Mar 23

Markov Decision Processes

Mar 25

Last day to declare CR/NC

Approximate Q-learning


Mar 28


Reinforcement Learning
Lab 8: MCTS Revisited

Mar 30

Dealing with uncertainty

Apr 01


Apr 04

Hierarchical Clustering

Unsupervised Learning
Lab 9: Unsupervised Learning

Apr 06

K-means and GNG

Apr 08

Principal Component Analysis


Apr 11

Review for Exam 2

Exam 2 in lab

Apr 13


Apr 15

Fundamental problems


Apr 18

Philosophy of AI

Philosophy and Ethics of AI Lab 10: Machine Learning Project

Apr 20

Ethics of AI

Apr 22

Summing Up


Apr 25

  Deep Learning
Andrey Kurenkov's A brief history of neural nets and deep learningAI in pop culture
  • F: TBD

Apr 27


Apr 29