Syllabus

=Syllabus=

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 the 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 of 30 marks (each of 15 marks)
 * 1 Final Exam of 40 marks
 * 4 Assignments of 10 marks (each of 2.5 marks)
 * 4 Quizzes (best 3 counts) of 7.5 marks (each of 2.5 marks)
 * 1 Project of 12.5 marks


 * Software Tools**
 * SWI-Prolog ([])
 * GeNIe ([])
 * Weka ([])
 * KNIME ([])
 * For programming assignments, students can use any standard programming language (either Java, C#, C++, etc.).