Artificial Intelligence

Level 6 BSc Computer Science and related programmes

Semester 2 - 33 Hours (11 × 2h lectures + 11 × 1h Python tutorials)

Principal Lecturer: Dr Bugra Alkan

Aim

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.

Lecture Topics

L1 Introduction: What is Artificial Intelligence?

Motivation and context; narrow vs general AI; AI, machine learning, deep learning and data science; application areas and 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, BFS); informed search and heuristics; grid pathfinding example; 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; integrated notebook example with a tiny Naive Bayes classifier.

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 (R²); 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 (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; 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.

Learning Outcome

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

At the end of the course students should:
  • 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).