Level 6 BSc Computer Science and related programmes
Semester 2 - 33 Hours (11 × 2h lectures + 11 × 1h Python tutorials)
Principal Lecturer: Dr Bugra Alkan
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.
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.
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.
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.
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.
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.
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.
Classification problem formulation and types; k-Nearest Neighbour (kNN); Support Vector Machines (SVM); unsupervised learning and clustering; basic clustering ideas and evaluation; exercises.
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.
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.
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.
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.