Principles of Artificial Intelligence, Fall 2006
|
Course Descripton
Com S 572 (Also Com S 472, Com S 472 Honors). Principles of Artificial Intelligence. (3-1) Cr. 3. F. Prereq: 311, 330 or Cpr E 310, Stat 330, Engl 105, Sp Cm 212, Com S 342 or comparable programming experience. Specification, design, implementation, and selected applications of intelligent software agents and multi-agent systems. Computational models of intelligent behavior, including problem solving, knowledge representation, reasoning, planning, decision making, learning, perception, action, communication and interaction. Reactive, deliberative, rational, adaptive, learning and communicative agents and multiagent systems. Artificial intelligence programming. Graduate credit requires a research project and a written report. Oral and written reports.
Course Staff
The fall 2006 offering of Principles of Artificial Intelligence is taught by Professor Vasant Honavar with the assistance of Ms. Oksana Yakhnenko, a doctoral student in Computer Science.
Course Schedule
Lectures: Monday, Wednesday, and Friday 1:10pm - 2:00pm, 2134 Gerdin Hall
Recitations: Thursday 9:00am - 9:50am, B29 Atanasoff Hall
Office Hours:
Vasant Honavar: Monday, Wednesday: 2:10pm - 3:00pm, 211 Atanasoff Hall
Oksana Yakhnenko: Tuesday, Thursday: 10-10:50am.
Course Prerequisites
The prerequisites for the course include knowledge of programming, programming language concepts (functional programming, imperative programming, declarative programming, object-oriented programming, recursion, abstract data types), discrete mathematics (set theory, grapth theory, logic), calculus, basic probability theory and statistics, and data structures (lists, trees, graphs etc.) and algorithms (design and analysis).
These topics are covered in Com S 330, 311, and ComS 342 and Stat 330.
In addition, students are expected to have the writing and presentation skills necessary for preparing written reports and presentations based on term projects. These skills are taught in Engl 105, Sp Cm 212.
Some exposure to philosophy of mind or cognitive psychology, although not required, is desirable.
Some of the laboratory assignments will require you to program in Java. If you do not know Java already, you are expected to quickly acquire a working knowledge of Java on your own. Note however, that Java is not necessarily the ideal language for all aspects of artificial intelligence programming. LISP and Prolog are especially well-suited for rapid prototyping of artificial intelligence programs. Consequently, some of the laboratory assignments might require you to program in LISP or Prolog. If you are unfamiliar with LISP or Prolog, you will be expected to quickly acquire a working knowledge of these languages as needed.
If there is sufficient interest, a few of the recitation sessions will be used to introduce Java, LISP, or Prolog as needed.
If you are not sure whether you have the necessary background, please talk to the instructor.
Target Audience
This course is targeted to senior undergraduate and
and beginning graduate students in Computer Science at Iowa State University. The course should be of interest to graduate students in Bioinformatics and Computational Biology, Human-Computer Interaction, as well as graduate and undergraduate students from a variety of disciplines interested in learning about Artificial Intelligence.
Graduate students in Computer Science should enroll in Com S 572. Undergraduate students in the Honors program should enroll in Com S 472 Honors. All other undergraduates and graduate students should enroll in Com S 472.
Course Objectives
The primary objective of this course is to provide an introduction to the basic principles and applications of Artificial Intelligence. Programming assignments are used to help clarify basic concepts. The emphasis of the course is on teaching the fundamentals, and not on providing a mastery of specific commercially available software tools or programming environments. In short, this is course is about the design and implementation of intelligent agents---software or hardware entities that perform useful tasks with some degree of autonomy. Upon successful completion of the course, students will have an understanding of the basic areas of artificial intelligence including problemsolving, knowledge representation, reasoning, decision making, planning, perception and action, and learning -- and their applications (e.g., data mining, information retrieval). Students will also be able to design and implement key components of intelligent agents of moderate complexity in Java and/or Lisp or Prolog and evaluate their performance. Graduate students are expected to develop familiarity with current research problems, research methods, and the research literature in AI.
|