Computer Science 340: Introduction to Artificial Intelligence and Machine Learning

This course is an introduction to the field of AI and Machine Learning, including an intensive initial introduction to the Python programming language. Indicative topics include knowledge representation, decision trees and rule-based expert systems, as well as machine learning structures and algorithms for neural and evolutionary computation.
The course covers the theory and practical implementation of supervised, unsupervised and reinforcement learning in artificial neural networks, as well as in evolutionary computing and genetic algorithms. Other indicative topics covered are dataset preparation for neural learning and testing, the back-propagation algorithm for synaptic weight change, pattern recognition and classification challenges using the multi-layer perceptron artificial neural network architecture, logical and probabilistic neural computation, and optimization of neural computation using genetic algorithms.
All topics presented are supported by practical examples and design challenges using the Python programming language. This course serves as a prerequisite for Computer Science students who wish to undertake a capstone project involving AI and/or Machine Learning during their final year of study.

Prerequisite: CSC 106