Princeton University
Computer Science Department

Computer Science 402
Artificial Intelligence

Rob Schapire

Fall 2005

General Information | Schedule & Readings | Assignments | Whiteboard





TA in charge


Monday, Sept. 19




Monday, Sept. 26

Turing Test and Search



Monday, Oct. 10

What A* Rush



Monday, Oct. 24


Results of implementation challenge

Slides from Berk's classroom presentation



Monday, Nov. 14

Bayes Nets and MCMC



Wednesday, Nov. 30

HMM's and the Viterbi Algorithm



Wednesday, Dec. 14

Cat and Mouse



"Dean's Date",
Tuesday, Jan. 17
(but first round test predictions are due Thursday, Jan. 12)

Machine Learning

Results of comparison on benchmark datasets

Melissa (programming)
Berk (written exercises)


What you will be graded on

Homework assignments will be a mix of written exercises and programming.

For most of the written exercises, you will be graded primarily on getting the right answer, but also on writing up your answer clearly, concisely and precisely.  Likewise, programming assignments are graded largely on whether or not your program works correctly and efficiently, but also on whether your code is written cleanly following good programming practices and including sufficient documentation.  Creativity is an important factor in many of the programming assignments.  In addition, a couple of the written exercises and many of the programming assignments ask you to explore and experiment (for instance, with the program you have written), and to report on what you have found.  For these, you will be graded on producing a write-up that is thoughtful, perceptive, insightful, critical, clear and concise.

Turning in assignments

The programming part of each assignment should be turned in electronically using the class whiteboard page by clicking on "Assignment Submission" and following the instructions.  To authenticate yourself, you will need to type your Princeton OIT Unix login and password.  (This will only work after you have completed HW#0.)  You will receive an email confirmation for each successful submission.  You can resubmit or unsubmit files as needed.

Written exercises must be submitted in hard copy, and can be turned in at the end of class, or directly to a TA, or they can be submitted by placing in the envelope on the door of  room 001C in the basement of the CS building.  If you are turning your homework in late, be sure to write down the day and time of submission (see late policy below).

Grades will be posted using whiteboard.

Late policy

All assignments are due at 11:59pm on the due date.

Each student will be allotted seven free days which can be used to turn in homework assignments late without penalty.  For instance, you might choose to turn in HW#1 two days late, HW#4  three days late and HW#6 two days late.  Once your free days are used up, late homeworks will be penalized 20% per day.  (For instance, a homework turned in two days late will receive only 60% credit.)  Homeworks will not be accepted more than five days past the deadline, whether or not free days are being used.  Exceptions to these rules will of course be made for serious illness or other emergency circumstances; in these cases, please contact me as soon as you are aware of the problem.

A weekend, that is, Saturday and Sunday together, count as a single late "day".  For instance, a homework that is due on Thursday but turned in on Sunday would be considered two days late, rather than three.

If you are turning in a late written homework after hours when no one is around to accept it, please indicate at the top that it is late, and clearly mark the day and time when it was turned in.  Failure to do so may result in the TA's considering the homework to be submitted at the time when they pick it up (which might be many hours, or even a day or two after when you actually submitted it).


The collaboration policy for this course is based on the overarching objective of maximizing your educational experience, that is, what you gain in knowledge, understanding and the ability to solve problems. Obviously, you do not learn anything by copying someone else's solution. On the other hand, forbidding any and all discussion of course material may deprive you of the opportunity to learn from fellow students. The middle ground between these two extremes also needs to be defined with this basic principle in mind. Before working with another student, you should ask yourself if you would gain more or less by working together or individually, and then act accordingly. Here are some specific guidelines based on this principle: