Course Title: Artificial Intelligence


Number of Unites: 4

Schedule: Three hours of lecture and one hour of discussion per week.

Prerequisites: Discrete Mathematics, Software Engineering

Catalog Description :
Includes an introduction to artificial intelligence as well as current trends and characterization of knowledge-based systems. Search, knowledge representation schemes, production systems, and expert systems will be examined. Additional areas include knowledge discovery and neural learning.

Expanded Description:
  1. Scope of AI: Games, theorem proving, natural language processing, vision, expert systems, AI techniques-search knowledge.
  2. Problem Solving: State space search; Production systems, search space control: depth-first, breadth-first search, heuristic searches: Hill climbing, best-first search, branch and bound, Problem Reduction, Constraint Satisfaction End, Means-End Analysis.
  3. Knowledge Representation: Predicate Logic: Unification, modus pones, resolution, and dependency directed backtracking.
  4. Rule based Systems: Forward reasoning: Conflict resolution, backward reasoning: use of no backtrack.
  5. Expert Systems: Need and justification for expert systems, knowledge acquisition, Case studies.
  6. Structured Knowledge Representation: Semantic Nets, slots, default frames, conceptual dependency, and scripts.
  7. Handling uncertainty: Non-Monotonic Reasoning, Probabilistic reasoning, and use of certainty factors.
  8. Learning: Concept of learning, learning automation, genetic algorithm, learning by inductions, neural nets.
  9. Knowledge discovery in database.

Course Objectives & Role in the Program:
The objective of the course is to present an overview of artificial intelligence (AI) principles and approaches. Develop a basic understanding of the building blocks of AI as presented in terms of intelligent agents: Search, Knowledge representation, inference, logic, and learning. Students will implement a small AI system in a team environment. The knowledge of artificial intelligence plays a considerable role in some applications students develop for courses in the program.

Learning Outcomes:
Upon successful completion of this course student will:
- be able to design a knowledge based system,
- be familiar with terminology used in this topical area,
- have read and analyzed important historical and current trends addressing artificial intelligence.

Method of Evaluation
  1. Project participation and contribution (will be graded on individual basis and will include forum participation, source code, architecture, documentations contributions and presentation) - 20%
  2. Home Assignments – 15%
  3. Final Exam (3 hours – Open book)– 30%
  4. Midterm Exam (2 hours – Open book) – 20%
  5. Class participation (including outside reading presentations, quizzes and active learning) – 15%

Required Books:

Textbooks:
  1. Introduction to Artificial Intelligence, Rajendra Akerkar; Prentice Hall of India, 2005.
  2. Required software: 
    1. SWI-Prolog. Use the stable versions and the self-installing executable for Windows 95/98/ME/NT/2000/XP. For this course we need only the basic components.
    2. Prolog Tutorials More tutorials: http://www.swi-prolog.org/www.html
    3. Quick Introduction to Prolog
    4. A Prolog Tutorial by J.R. Fisher
Reference books:
  1. Artificial Intelligence: Structures and Strategies for Complex Problem Solving, George Luger; Benjamin Cummings, 2004
  2. Artificial Intelligence: A Modern Approach (2nd edition), Russell & Norvig; Prentice Hall. 2003
  3. Introduction to AI and Expert Systems, D. W. Patterson; PHI, 1992.
  4. Other course material will be provided during the course.

General Online Resources:
© 2008 -14  Technomathematics Research Foundation

foo