Introduction to Artificial Intelligence
Spring 2009
This course provides an overview of the theoretical and practical aspects of designing intelligent computer systems. Students are expected to implement the concepts learned during the course using standard and AI-specific programming languages and tools. The following topics are covered in the course:
Overview of Artificial Intelligence
Historical Perspective
AI in Modern World
State Space Representation
Search Techniques
Uninformed (Best-first, Depth-first)
Informed (A*, Best-first)
Search in Games
Minimax, Alpha-Beta Pruning
Machine Learning
Classification Trees
Naïve Bayes
Neural Networks
Logic
Propositional Logic
Predicate Logic
Logical Inference
Probabilistic Reasoning/Bayesian Networks
Knowledge Elicitation
Inference in BNs
Miscellaneous Topics (depending upon the availability of time)
Evolutionary Computation
Introduction to Robotics
Natural Language Processing
Prerequisites:
CSE205: Data Structures and Abstraction
MTS201: Logic and Discrete Structures
Text Book
Tim Jones, Artificial Intelligence: A Systems Approach, 2007.
Reference Books
Ben Coppin, Artificial Intelligence Illuminated, 2004.
Kevin Korb and Ann Nicholson, Bayesian Artificial Intelligence, 2003
Steven Rabin, AI Game Programming Wisdom 3, 2005.
Steve Rabin, AI Game Programming Wisdom 4, 2008
Grading
2 Term Exams 16 marks each
1 Final Exam 40 marks
4 Assignments/Projects 4 marks each
4 Quizzes (best 3 counts) 4 marks each
Software Tools
SWI-Prolog (http://www.swi-prolog.org/)
GeNIe (http://genie.sis.pitt.edu/)
Weka (http://www.cs.waikato.ac.nz/ml/weka/)
KNIME (http://www.knime.org/)
For programming assignments, students can use any standard programming language (either Java, C#, C++, etc.). |