The course is a basic introduction to artificial intelligence covering fundamental material in problem solving, heuristic search, knowledge representation, deduction, planning, uncertain reasoning, learning, and natural-language processing. The course will focus on understanding concepts and algorithms rather than programming, although there will be two projects involving some programming (in Java). See the course syllabus for further details.
Reading assignments from the text are listed on the syllabus. Be sure to keep up with the reading and study the corresponding chapters before the corresponding lecture. Class lectures will cover the slides available on the course homepage.
Prompt attendance at class is mandatory. Attendance will be taken at the very beginning of every class period and a student's attendance record will count as part of the course grade. Leaving during the middle of class in unacceptable and will count as missing two class periods.
There will be four written assignments during the semester that involve working out the solutions to a series of problems on paper. Many of the general types of problems in the assignments will be representative of problems to appear on the midterm and final.
There will be two class projects, one in each half of the course. These involve using existing AI software in Java to solve a realistic task. You will have to adapt the software for the current task, which will involve some Java programming. You will also run the programs on realistic data and measure the results. A major part of the assignment is to understand why you got the results you did, and write a short (one or two page) report on what you did and why, how it turned out, how you might improve the results, and generally what you learned from the assignment.
Programming assignments will be done on departmental UNIX workstations. If you do not have a permanent UNIX account, you can obtain one from the Undergraduate Office. If you are not a CS student, the Undergraduate Office can issue you a temporary account.
There will be a midterm exam the last class before spring break, March 12, that will cover the material in the first half of the course. We will review for the test the class before.
The final will be held on Saturday May 16, 2-5PM, in the normal classroom. It will be comprehensive test covering all material presented in the course; however, about 2/3 of the problems will involve material covered since the midterm. We will review for the final on the last class day.
Read the department's academic policy page at http://www.cs.utexas.edu/users/ear/CodeOfConduct.html. Students who demonstrably violate the Academic Honesty policy will receive a failing grade in the class. We will be using the Moss system to screen submited programs for plagiarism. Unfortunately, I have had to fail more than a dozen students in the past for copying on programming assignments. To avoid problems, limit any discussion of assignments with other students to clarification of the requirements or definitions of the problems, or to understanding the existing programs or general course material. I encourage you to interact with your fellow students in understanding the course materials and interpreting the requirements of the assignments but never discuss issues directly related to problem solutions.
24% Assignments 20% Projects 8% Attendance 22% Midterm 26% Final