ECE 469: Artificial Intelligence
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.
- Introduction and course overview.
- The concept of intelligent agents.
- Uninformed search: depth-first search, breadth-first search, iterative deepening, bidirectional search.
- Informed search: best-first search, A*, heuristics, hill climbing.
- Intelligent game playing: minimax search, alpha-beta pruning.
- Probability overview.
- Bayesian networks.
- Bayesian learning and naive Bayes classification.
- Decision trees.
- Neural networks.
- Other machine learning techniques: k-nearest neighbors, support vector machines, and hidden Markov models.
- Natural language processing: syntax, semantics, pragmatics, real-world knowledge, parsing.
- Statistical natural language processing.
- Philosophy of AI, consciousness and AI, the Turing test, the Chinese room experiment, ethical considerations.
- Knowledge of various subtopics of artificial intelligence, some in depth.
- Familiarity with many important AI algorithms and methodologies.
- Experience individually developing two large AI projects.
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.