CS 3600
Introduction to Artificial Intelligence
(Spring 2013)

Meets: Mondays and Wednesdays 3:05-4:25pm in ES&T L1205

Instructor: Prof. Mark Riedl (riedl@cc.gatech.edu)
Office hours: Tuesdays: 3:00-5:00pm, TSRB 234

Home Schedule Projects Grading Resources Piazza

Teaching Assistants

Yajun Gao
Email: yajun.gao@gatech.edu
Office Hours: Fridays 1-3pm, CCB commons
Kurtis Eveleigh
Email: kurtis.eveleigh@gatech.edu
Office Hours: Wednesdays 11-1pm, CCB commons
Man Fong
Email: mfong8@gatech.edu
Office Hours: Tuesdays 1-3pm, CCB commons



General Information

Introduction to Artificial Intelligence is a three-credit undergraduate course emphasizing the building of agents, environments, and systems that can be considered as acting intelligently. 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.


There are three primary objectives for the course: To provide a broad survey of AI; To develop a deeper understanding of several major topics in AI; To develop the design and programming skills that will help you to build intelligent artifacts.

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


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 familiarity 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. All projects will be implemented in Python. We will spend no time explaining languages in class; at this point in your career you've been exposed to several programming language and are expected to be able to readily acquire new programming language skills.


Required Text: Artificial Intelligence: A Modern Approach, Third Edition (the blue book) by Russell & Norvig, 2010.

Readings. The textbook for the course is the third edition of Artificial Intelligence: A Modern Approach by Russell and Norvig. There are significant differences between it and the first two editions, 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 for the schedule, projects, and homework exercises. We will use T-Square for project submission and critical announcements. We will use a course management site called Piazza for general questions and discussions.

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 Intelligent Systems groups around and our interests are quite broad, so surfing faculty web pages can also be enlightening.


Homework: Assignments will be made regularly; these will be worth 0% of your final grade. These are for your own good. If you keep up with, and do well on the homework assignments, it is very likely you will do well on the exams.

Projects: There will be 4 projects throughout the semester; these will be worth 40% of your final grade.

Exams: There will be a mid-term and a final exam, worth 30% and 30% of your final grade, respectively.

Class Participation: Participation means attending classes, participating in class discussions, asking relevant questions, volunteering to provide answers to questions, and providing constructive criticism and creative suggestions that improve the course or the textbook. Participation will be 0% of your grade; class participation to determine whether your grade can be lifted in case you are right on the edge of two grades.

For more information see the grading page.

Extra credit: From time to time AI research faculty at Georgia Tech will run experiments and studies that require human participation. You can receive extra credit points toward your final grade by participating in these studies and experiments. Participating in experiments is also a great way to learn more about the cutting-edge research being conducted here at Georgia Tech. See the grading page for the detailed extra credit policy.



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 too drastic, and you'll be informed as far in advance as possible.