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:
- Introduction and course overview.
- 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.
- Hidden Markov models.
- Machine learning concepts.
- Machine learning approaches: decision trees, Bayesian learning and naive Bayes, neural networks, deep learning.
- Conventional statistical natural language processing: vector-space approaches and bag-of-words models.
- Computational Linguistics: syntax, semantics, pragmatics, real-world knowledge.
- Deep learning and NLP: word embeddings, RNNs, LSTMs, transformers
- Philosophy and ethics of AI: weak vs. strong AI, the Turing test, the Chinese room experiment, learned biases, ethical issues.
Course Outcomes:
This course provides insight into, and demystifies, various topics of artificial intelligence, with a focus on intelligent search, game playing, probabilistic reasoning, machine learning, and natural language processing. Students will understand what it means for a system to rely on artificial intelligence, and they will become familiar with many important algorithms and methodologies. They will implement some of these algorithms as part of two individual programming projects.
Students will attain:
- 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.
Assessment Methods:
The two large programming projects test in-depth understanding of two or more important AI algorithms. Exams, quizzes, or problem sets are used to evaluate various levels of knowledge of other AI topics.