Carl Sable

Associate Professor of Electrical Engineering

ECE 469: Artificial Intelligence

Catalog Data:

This course covers many subtopics or AI focusing on a few important subtopics in detail. The "intelligent agent" approach is explained and forms a foundation for the rest of the course. Intelligent search: uninformed search, depth-first search, breadth-first search, iterative deepening; informed search, best-first search, A*, heuristics, hill climbing; constraint satisfaction problems; intelligent game playing, minimax search, alpha-beta pruning. Machine learning: probability, Bayesian learning; decision trees; statistical machine learning, neural networks, Naive Bayes, k-nearest neighbors, support vector machines. Natural language processing: syntax, semantics, and pragmatics, real-world knowledge; parsing; statistical NLP. Philosophy of AI: AI and consciousness, the Turing test, the Chinese room experiment. Course work includes two large individual programming projects.

Topics:

  1. Introduction and course overview.
  2. The concept of intelligent agents.
  3. Uninformed search: depth-first search, breadth-first search, iterative deepening, bidirectional search.
  4. Informed search: best-first search, A*, heuristics, hill climbing.
  5. Intelligent game playing: minimax search, alpha-beta pruning.
  6. Probability overview.
  7. Bayesian networks.
  8. Bayesian learning and naive Bayes classification.
  9. Decision trees.
  10. Neural networks.
  11. Other machine learning techniques: k-nearest neighbors, support vector machines, and hidden Markov models.
  12. Natural language processing: syntax, semantics, pragmatics, real-world knowledge, parsing.
  13. Statistical natural language processing.
  14. Philosophy of AI, consciousness and AI, the Turing test, the Chinese room experiment, ethical considerations.

Course Outcomes:

  1. Knowledge of various subtopics of artificial intelligence, some in depth.
  2. Familiarity with many important AI algorithms and methodologies.
  3. Experience individually developing two large AI projects.

Assessment Methods:

The two large programming projects test in-depth understanding of two or more important AI algorithms. A final exam is used to evaluate various levels of knowledge of other AI topics.