CS 3600
Intelligent Systems
Fall 2006

TTh 1:30p-3:00
CCB
Room 17
http://www.cc.gatech.edu/classes/AY2007/cs3600_fall/

Instructor:
Charles Isbell, isbell@cc.gatech.edu
224, Technology Square Research Building, 385-6491
Office Hours: TBA, and by appointment

TAs:
Sooraj Bhat, sooraj@cc
Lab outside of 224, Technology Square Research Building
Office Hours: Monday and Tuesdays 3-4:30pm (TSRB), and by appointment.
Min Zhang, minzhang@cc
Office Hours: Wednesdays 2-4pm (CCB common area), and by appointment.

Required Text:
Artificial Intelligence: A Modern Approach
Second Edition (the green book)
by Russell & Norvig, 2002
ISBN 0 13 080302 2.

E-mail without "[cs3600]" in the "Subject:" field will receive lower priority.


General Information

Introduction to Intelligent Systems is a three-credit undergraduate course on Artificial Intelligence. The class is called Introduction to Intelligent Systems instead of Introduction to Artificial Intelligence to emphasize that we intend to approach AI from the point of view of building intelligent agents, environments and systems. In particular, you will learn about the methods and tools that will allow you to build complete systems that can interact intelligently with their environment by learning and reasoning about the world.

Objectives

There are three primary objectives for the course:

In practice, you should develop enough basic skills and background that you can pursue any desire you have to learn more about specific areas in IS, whether those areas are planning, knowledge representation, machine learning, vision, robotics or whatever. In particular, this class provides a useful foundation for a number of courses involving intelligence systems, including Machine Learning (CS4641), Knowledge-Based AI (CS4634), Computer Vision (CS4495), Robotics and Perception (CS4632), Natural Language Understanding (CS4650) and Game AI (CS4731).

Prerequisites

Someone once said that the trick to doing AI is coming up with a good representation. That's not quite all there is to it, but it's close enough, so to succeed at this class, you should know a bit about data structures and algorithms. At the very least, you will have to be able to read pseudocode and understand basic algorithms as they are presented to you.

Someone else one defined AI as finding fast algorithms for NP-hard problems. Again, that's not quite all there is to it, but it's not too far from the truth, so it also turns out that a familiarity with (or at least a lack of abject fear over) some basic theory helps to situate many of the algorithms.

As the semester continues, it turns out that a familarity with basic probability theory will also be very useful; however, we will spend some time on that in class in order to refresh your memory. Finally, you should feel pretty comfortable programming on your own. Many of the projects will be in LISP, and perhaps one or two will be in C. We will not spend anytime explaining these languages in class on the theory that at this point in your career you're capable of doing that sort of thing on your own (and if you're not, this is good time to learn).

Having said all that, the most important prerequisite for enjoying and doing well in this class is your interest in the material. That sounds vaguely corny I'm sure, but in the end it will be your own motivation to understand the material that gets you through it more than anything else.

If you are not sure whether this class is for you, please talk to me.

Resources

Readings. The textbook for the course is the second edition of Artificial Intelligence: A Modern Approach by Russell and Norvig. There are significiant differences between it and the first edition, so be sure to have the right edition. We will follow the textbook quite closely (although time will not permit us to cover all of the chapters), so it is imperative that you have a copy of the book. We may occasionally use supplemental readings as well, but those will be provided for you.

Computing. You will have access to CoC clusters for your programming assignments. You can use whatever machines you want to do the work; however, the final result will have to run on the standard CoC boxes. Exactly what this means will be spelled out on each assignment. This shouldn't be much of a restriction for you.

Web. We will use the class web page to post last minute announcements, so check it early and often. Aside from that, if you want to learn more about intelligent systems or artificial intelligence, you can find an enormous amount just by typing in keywords in google (or whatever your favorite search engine is). One good place to start is with AI on the Web. It's also worth pointing out that Georgia Tech enjoys one of the largest IS groups around and our interests are quite broad, so surfing faculty web pages can also be enlightening.

Disclaimer

I reserve the right to modify any of these plans as need be during the course of the class; however, I won't do anything capriciously, anything I do change won't be too drastic, and you'll be informed as far in advance as possible.