S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach
CSCI 3104 (Algorithms) and CSCI 3155 (Programming Languages) or consent of the instructor.
This course provides an introduction to Artificial Intelligence research. In structure, this is a survey course: we will rarely spend more than three lectures or so on any given topic (even though many of these topics could easily support an entire semester's -- or a career's -- worth of work). The unfortunate side of this arrangement is that we will not cover anything in great depth (though you are encouraged to follow up on any topics of interest to you); the fortunate side of this arrangement is that, if you find that you don't care for some topic, all you have to do is wait a week or so until we move on to something else! An (approximate) schedule of topics to be covered in this course can be found in the syllabus on the following page.
This course will include several assignments that involve writing (short-but-complete) programs. For this purpose, you can use any language and programming environment with which you are comfortable. It is assumed that you have enough CS background so that you can write, debug, document, and explain your programs.
There will be five problem sets in this course; there will also be a midterm and a final exam. The problem sets will be weighted as 55% of the final grade (the lowest of the problem set scores will count for 5%, the other four for 12.5% each). The midterm and final exams will count respectively for 15% and 30% of the final grade (if the midterm score is lower), or 20 and 25% of the final grade (if the midterm score is higher). Late assignments will not be accepted; and there will be no incomplete grades given in the course.