Fundamental concepts and applications of intelligent and interactive system design and implementation. Topics include: problem formulation and experiment design, search techniques and complexity, decision making and reasoning, data acquisition, data pre-processing (de-noising, missing data, source separation, feature extraction, dimensionality reduction), supervised learning, unsupervised learning, and ensemble learning.


By the end of the course, students will:

- Know the background and history of artificial intelligence (AI), intelligent agents, and interactive systems

- Appreciate problem formulation and experiment design

- Understand decision making and search algorithms including depth-first search, breadth-first search, bi-directional search, informed search, best-first search, A* search, hill climbing search, adversarial search

- Understand inference, forward and backward chaining, first order logic, resolution, Bayesian reasoning

- Know the basis of FIR filters, convolution, windows, matched filters, IIR filters, median filtering, Kalman filters, filter comparisons, filter selection

- Appreciate the tradeoffs of different filters for time-series data

- Understand potential issues that arise with missing data, and solutions such as sampling, linear and non-linear regression, clustering, filtering

- Appreciate the basis of pre-processing methods such as principal component analysis, independent component analysis

- Understand the concept of feature extraction and become familiar with a variety of feature types including statistical features, frequency features, entropy features

- Understand the notion of supervised classification and learn methods including regression, k-nearest neighbors, support vector machines, naïve Bayes, decision trees, random forests, and artificial neural networks (multilayer perceptrons, convolutional neural networks, etc.)

- Know the concept of unsupervised classification including methods such as k-means clustering, Gaussian mixture models, segmentation, adaptive thresholding, and probabilistic thresholding

- Appreciate different methods of ensemble learning, including boosting, bagging, adaboost, and others.

Credit Breakdown

Lecture: 3
Lab: 0.5
Tutorial: 0

Academic Unit Breakdown

Mathematics 0
Natural Sciences 0
Complementary Studies 0
Engineering Science 31
Engineering Design 11