Back to teaching
Deep Learning
Computer Vision
NLP
CNNs
RNNs & LSTMs
Autoencoders
Transfer Learning

6CS012 - Artificial Intelligence and Machine Learning

Assistant Lecturer · Herald College Kathmandu (University of Wolverhampton)

Spring 2026Herald College Kathmandu (University of Wolverhampton)Final-year undergraduate (BSc (Hons) Computer Science)9 weeks · lecture, tutorial & workshop each week120 students

Course Description

The second course in the AI and Machine Learning sequence for final-year BSc (Hons) Computer Science students, delivered as part of a module teaching team to a cohort of 120. It builds from foundational machine learning into deep learning and its theoretical underpinnings, with applications in computer vision and natural language processing, and keeps returning to the linear algebra and optimisation that make modern architectures work.

Each week ran as a lecture, a tutorial and a workshop. Tutorials were largely pen-and-paper: deriving gradients, computing convolutions and walking through backpropagation by hand. Workshops turned the same ideas into code, with a worksheet submitted most weeks: PCA image compression, softmax regression on MNIST, a perceptron from scratch, an MLP for Devanagari handwritten digits, CNNs with transfer learning, Naive Bayes text classification and LSTM machine translation.

Learning Outcomes

By the end of the course, students can:

  1. Explain the core challenges of machine learning: data quality, model selection, overfitting and model complexity.
  2. Apply linear algebra, matrix operations and optimisation to understand and improve deep learning architectures.
  3. Select an appropriate model (CNN, RNN, autoencoder, transformer) for a problem in vision or language, and implement it with a modern framework.
  4. Design and tune models through preprocessing, regularisation and hyperparameter choices, and evaluate them with appropriate metrics.

Assessment

Weekly worksheets, a mid-term quiz, and a final project portfolio made up of three assignments (image classification, question answering and text classification), defended in a final viva.

Schedule

Week 1

Linear Algebra and Derivatives for Deep Learning

A review of the mathematics the rest of the module leans on: vectors, matrices and their geometric intuitions, dot products, span, inverse and pseudo-inverse, rank, eigen-decomposition and tensors, then derivatives and gradients for finding minima and maxima. The workshop applied this directly by implementing PCA for image compression.

Vectors & matrices
Eigen-decomposition
Tensors
Gradients
PCA
Week 2

Image Classification with Linear Classifiers

From rule-based expert systems to learning from data. Students framed supervised learning through Empirical Risk Minimization, derived logistic regression and its cross-entropy cost by hand, extended it to softmax for multi-class problems, and trained it with gradient descent on MNIST — then examined where a linear decision boundary breaks down.

ERM framework
Logistic & softmax regression
Gradient descent
Bias–variance
Confusion matrix & ROC
Week 3

Getting Started with Deep Learning and Neural Networks

Why hand-crafted features limit classical ML, and how neural networks grew out of connectionism. We traced the path from the McCulloch–Pitts neuron to the perceptron and its learning rule, realised logic gates with it, and used Minsky and Papert's XOR result to motivate multilayer networks. Students coded a perceptron on linearly and non-linearly separable data.

McCulloch–Pitts neuron
Perceptron learning
XOR problem
Activation functions
Week 4

Multilayer Neural Networks

Building deep networks from perceptrons: universal approximation, why depth helps, loss functions and empirical risk, and backpropagation worked through on paper as forward and backward passes. Covered batch, stochastic and mini-batch gradient descent, then implemented an MLP in Keras to classify Devanagari handwritten digits.

Universal approximation
Backpropagation
SGD & mini-batch
Keras
Devanagari digits
Week 5

Introduction to Convolutional Neural Networks

Why fully connected networks struggle with images, and how convolution exploits spatial structure. Students computed convolutions, padding, stride and pooling output dimensions by hand, looked at feature maps and representation learning in deep CNNs, and built a CNN image classifier from scratch in Keras.

Convolution & feature maps
Padding & stride
Pooling
Classic CNN architectures
Week 6

Practical Aspects of Training Deep Neural Networks

The engineering side of deep learning: hold-out splits, bias versus variance, data augmentation, normalisation and batch norm, early stopping, L1/L2 regularisation, dropout, weight initialisation, and optimisers from momentum and RMSprop to Adam. A tour of AlexNet, VGG-16, GoogLeNet and ResNet led into transfer learning, freezing and fine-tuning pre-trained models. Assignment I (image classification) was released.

Regularisation & dropout
Batch normalisation
Adam & LR decay
ResNet & VGG
Transfer learning
Week 7

Representation Learning with Autoencoders

Unsupervised learning through reconstruction. Students studied the encoder–decoder bottleneck, compared autoencoders with PCA, and worked through denoising, sparse, overcomplete and convolutional variants, including transposed convolutions. The workshop doubled as a revision and feedback session for Assignment I.

Encoder–decoder
PCA vs. autoencoder
Denoising & sparse AEs
Transposed convolution
Week 8

Getting Started with NLP: Text Pre-processing and Representations

Why language is hard for machines — variation, sparsity and ambiguity at every linguistic level — and how to turn text into numbers. We moved from one-hot encoding and bag-of-words through TF-IDF and n-gram language models to distributional semantics and word2vec (CBOW and skip-gram). Students built a Naive Bayes text classifier and compared representations. Assignment II was released.

Tokenisation & normalisation
Bag-of-words & TF-IDF
N-gram LMs
word2vec
Week 9

RNNs and Sequence-to-Sequence Learning

Modelling sequences with recurrence: RNN state updates, unrolling in time, backpropagation through time and the vanishing gradient problem. LSTMs were introduced gate by gate, followed by bidirectional RNNs and encoder–decoder seq2seq models. Students built an LSTM-based machine translation model. Assignment III was released.

RNNs & BPTT
Vanishing gradients
LSTM gates
Bidirectional RNNs
Seq2seq translation