6CS012 - Artificial Intelligence and Machine Learning
Assistant Lecturer · Herald College Kathmandu (University of Wolverhampton)
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:
- Explain the core challenges of machine learning: data quality, model selection, overfitting and model complexity.
- Apply linear algebra, matrix operations and optimisation to understand and improve deep learning architectures.
- Select an appropriate model (CNN, RNN, autoencoder, transformer) for a problem in vision or language, and implement it with a modern framework.
- 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
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.
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.
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.
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.
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.
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.
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.
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.
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.