0203-662: Artificial Intelligence Programming (4). Prerequisites: CS 245 [Data Structures and Algorithms]. Use of artificial intelligence techniques to solve large scale problems. Search strategies, knowledge representation, and other topics chosen from: simulated annealing, constraint satisfaction, logical and probabilistic reasoning, machine learning, expert systems, natural language processing, neural networks, genetic algorithms, and fuzzy logic. Both theoretical foundations and practical applications will be covered. Coursework includes written assignments and programming projects. Four hours lecture. Offered Spring 2004.
Could you be less specific?
The purpose of this class is to teach you about the design of intelligent systems. This includes designing programs that can adapt to new situations, make smart decisions in uncertain situations, and function in complex, unpredictable environments (like the real world).
We're NOT going to be talking about how to build HAL, or Data, or the T-1000. We won't spend much time talking about consciousness, or whether machines can be as intelligent as people. We'll be talking about how to make existing software act smarter.
Some common questions:
What are the course requirements?
You'll have a medium-sized homework to do each week, based on the lecture topics for that week. This will typically involve using or adapting an existing AI tool, although some weeks it will involve writing code from scratch. In addition, there will be several larger projects throughout the semester. You will also have two midterm exams and a final. More detailed info can be found on the syllabus.
What language will you be using?
Some of the tools (Jess, the Lego robots) have their own language, and so we'll be using that. In other cases, you'll be working with code from the Russell and Norvig book. This code is in Lisp and Python, and there's also some of it implemented in Java. You're free to use any of these languages. I'll go over Python at the beginning of the class (it's pretty easy) and do most of the examples in that.
What's the class like?
The typical class will have a lecture of about 1 hour, followed by 45 minutes of lab. This is a chance for you to work on the homework for this week, as well as to ask questions.
What will we learn about?
Some of the topics we'll cover are: Searching large spaces, knowledge representation, machine learning, decision making, and planning. The syllabus has a tentative list of topics.