Artificial Intelligence
Artificial Intelligence
Principal lecturer: Dr Bugra Alkan
Taken by: Level 6 BSc Computer Science and related programmes
Term: Semester 2
Hours: 33 (11 × 2h lectures + 11 × 1h Python tutorials)
Format: In-person lectures and Python tutorials
Suggested hours of supervisions: 4
Module materials are available on its VLE (Moodle) page.
Aims
This module introduces the fundamental concepts and techniques of Artificial Intelligence (AI) from a modern, practice-oriented perspective. It focuses on the core abstractions and algorithms used to build intelligent systems – search and optimisation, probabilistic reasoning, machine learning, neural networks and reinforcement learning – and on how these are implemented and evaluated in Python. The module also highlights opportunities, risks and responsible use of AI in real-world applications.
Lectures
L1 Introduction: What is Artificial Intelligence?
Motivation and context; narrow vs general AI; AI, machine learning, deep learning and data science; application areas and a brief history of AI; four waves of AI; AI architectures and robust AI; types of machine learning algorithms; modern AI computing platforms; opportunities, risks and responsible use. #### L2 Search and Adversarial Games
Single-agent search: formalisation of states, actions, transitions, goals and costs; nodes, frontier and explored set; uninformed search (DFS and BFS); informed search and heuristics; worked example of grid pathfinding; introduction to adversarial search and games; Python implementation of Tic–Tac–Toe and Minimax. #### L3 Local Search and Optimisation
Optimisation problems and objective functions; local search and landscape intuition; hill-climbing algorithms and variants; metaheuristics; simulated annealing; brief overview of genetic algorithms; summary and exercises. #### L4 Probability and Uncertainty in AI
Motivation for probabilistic modelling; probability spaces and basic rules; conditional probability and Bayes’ rule; random variables and common distributions; joint, marginal and conditional distributions; role of probability in machine learning and robotics; notebook integration with a tiny Naive Bayes example. #### L5 Machine Learning: Model Fitting and Sensitivity Analysis
Supervised learning and loss minimisation; data preprocessing; bias–variance trade-off; correlation and Pearson coefficient; coefficient of determination R2R^2R2; train–test split and cross validation; regression error metrics; sensitivity analysis and feature importance. #### L6 Regression in Machine Learning
Simple and multiple linear regression; evaluation metrics for regression; regularisation for linear regression (e.g. Ridge, Lasso); logistic regression; classification errors and evaluation metrics; summary and exercises. #### L7 Classification and Clustering in Machine Learning
Classification problem formulation and types; k-Nearest Neighbour (kNN); Support Vector Machines (SVM); unsupervised learning and clustering; basic clustering ideas and evaluation; exercises. #### L8 Decision Trees and Random Forests
Decision tree basics; entropy and information gain; worked examples; Gini impurity; decision tree learning and overfitting; Python implementation of decision trees; random forests and ensemble learning; Python implementation of random forests; exercises. #### L9 Artificial Neural Networks
From biological to artificial neurons; activation functions; from single neuron to multilayer networks; learning via loss functions and optimisation; stochastic gradient descent (SGD); backpropagation; Python implementations of feed-forward neural networks; summary and exercises. #### L10 Convolutional Neural Networks
Image representation and notation; convolution operation; ReLU non-linearity; pooling; flattening; fully connected layers and classification; simple CNN architectures; Python snippets for CNN building blocks; exercises and summary. #### L11 Robotics and Reinforcement Learning
Robotics as embodied intelligence; reinforcement learning basics (agent, environment, reward, return); model-free reinforcement learning; Q-learning; worked example of a gridworld robot with Q-learning; exercises and summary.
Objectives
At the end of the course students should: - Understand the main concepts and paradigms in AI, including search, learning and decision making. - Be able to formalise simple problems as search or optimisation tasks and implement appropriate algorithms. - Understand and apply basic probabilistic reasoning and model evaluation techniques in AI contexts. - Be able to design, train and evaluate core machine learning models (regression, classification, clustering, trees, ensembles). - Understand the principles behind artificial neural networks and simple convolutional architectures and implement them in Python. - Be able to implement a basic reinforcement learning agent (e.g. Q-learning in gridworld-style environments). - Be aware of the opportunities, risks and responsible use of AI in real-world applications.
Recommended reading
- Russell, S. and Norvig, P. Artificial Intelligence: A Modern Approach (latest edition). Bishop, C. M. Pattern Recognition and Machine Learning. - Goodfellow, I., Bengio, Y. and Courville, A. Deep Learning (selected chapters).