Prof. Mark Riedl (firstname.lastname@example.org)
Office hours: MF: 4:00-5:00, CCB 253
TA: Peng Zhou (email@example.com)
Office hours: M: 12:00-1:00, T: 1:00-3:00, TSRB 235
TA: Brian O'Neill (firstname.lastname@example.org)
Office hours: R: 2:00-4:00, TSRB 235
TA: Hong Yu (email@example.com)
Office hours: W: 1:00-5:00, KACB 1305
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 second edition of Artificial Intelligence: A Modern Approach by Russell and Norvig. There are significiant 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 most information, and T-Square for project submission. 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 5 projects throughout the semester; these will be worth 35% of your final grade.
Exams: There will be a mid-term and a final exam, worth 30% and 35% 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.
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.