Computer Science 302
MW, 11-12:20, 105 CS Building
Rob Schapire: 407 CS Building,
Office hours: by appointment (via email), or just stop by.
Miro Dudik: 413
CS Building, x8-1797, mdudik@cs
Note that Miro holds his Monday evening office hours at Cafe Vivian (in the Frist campus center).
Matt Hibbs: 001A CS Building, x8-6862, mhibbs@cs
TA office hours: Monday 7:30-8:30pm; Tuesday 4-6pm; Thursday 9:45-10:45am.
Note: Only the TA in charge of the next due homework has office hours. For instance, until Oct. 7, the due date for HW#2, only Miro will be holding office hours.
Tina McCoy: 410 CS Building, x8-1746, tmmccoy@cs
COS 217 and 226.
Artificial Intelligence: A Modern Approach
by Stuart J. Russell and Peter Norvig
Prentice Hall, 2003
(Be sure to get the second edition as the changes from the first edition were fairly substantial.)
Because it is the easiest and most appropriate language, programming in this course will be done in Java. If you do not already know Java, you will need to learn it in the first couple weeks of the course (the first homework with programming will not be assigned until around Sept. 24). For someone who has completed the class prerequisites, this should not be too difficult. Java is a beautiful and widely used language that is well worth knowing in its own right.
There are a number of good books on Java. I highly recommend:
Java in a Nutshell
by David Flanagan
Although optional, this book has been ordered at the U-Store. The Princeton library also makes the entire book available online here.
In addition, substantial Java online documentation and tutorials are available from java.sun.com.
One of the advantages of Java is that it comes with the standard Java Platform that includes packages for many data structures, i/o, string manipulation, etc. You are free to make use of any of these.
To get started using Java, see the CS126 "Hello, World" assignment which describes the mechanics of using Java locally.
Matt Hibbs will lead a Java tutorial on Friday, Sept. 19 at 3-4pm in 105 CS building (our regular classroom).
Regular homework assignments will be given roughly once every week or two, and will be a mix of written exercises and programming. There will be a final exam. Grades will be based roughly 65% on homeworks and 35% on the final. Final grades may also be adjusted slightly upward for regular class participation.
See the Assignments page for information on the late policy and collaboration policy.
Please check this website regularly for course announcements. The course newsgroup is pu.cs.302. And as soon as possible, please join the course mailing list which is administered using majordomo. To do so, send email to email@example.com with the message "subscribe cs302". Mail to the entire class can be sent to cs302@cs, although in most cases, posting to the newsgroup will be preferred. Mail to me and both TA's can be sent to cs302-help@cs.
In general, if you have a question/comment that will be helpful to other students, then you should post it to the newsgroup; if you have a question/comment that is specific to your work, or if you must reveal portions of your work to adequately express your question/comment, then you should send us e-mail.