This class provides a concise introduction to fundamental concepts and algorithms used in artificial intelligence, as well as investigating a number of advanced topics such as robotics and natural language understanding.
Part of each class will be a workshop, where we will gain experience in using relevant software tools. Every student should therefore bring a Wi-Fi enabled laptop (Windows-compatible, Apple Macintosh, or Linux) to every class. Please have your laptop set up properly as noted on the Computing page before you come to the first class. If you need to use special computing devices or software because of a disability please contact the instructor as soon as possible, so that we can make necessary accommodations.
If you are unable to get a laptop (or to get your laptop set up properly by the first class), DON'T PANIC! We will partner you with someone who does a working laptop for the class, and help you get straightened out by the next class. In general in-class exercises will be done in teams, so if on a particular night you are unable to bring a laptop we will match you with someone who does have one. Furthermore, we will try to have one or more departmental laptops available (but since these are checked out when people travel, we do not have a guaranteed supply).
Attendance and participation in classes is mandatory. If your work or vacation schedule will require you to miss more than one class during the quarter please contact the instructor for permission before registering for the class. Coursework will consist of programming and software tool exercises (often begun during class and then finished during the following week), written problems, and a take home final. There will not be a separate course project or in-class examination.
We'll provide updates via the course mailing list. Please sign up for it here.
Slides, in-class exercises, and homework are all linked from this page.
Please read this information about setting up your laptop and accessing course files.
Please review the following topics using your notes and/or textbooks from previous classes before the first class.
If your knowledge of the Unix utilities below is rusty, please obtain some reference books. I like the O'Reilly Nutshell ones, such as Linux in a Nutshell, Java in a Nutshell, and Perl in a Nutshell.