M.Sc. Projects
Scalable Machine Learning with PySpark on HPC
- Processed large-scale datasets on HPC using PySpark, mining NASA web logs with distributed aggregations.
- Tuned Logistic Regression, Poisson Regression, & ALS collaborative filtering via cross-validated grid search.
- Compared Random Forest, GBT, and Neural Networks across training sizes, analysing accuracy and latency.
PySpark
Scalable ML
Distributed Computing
Log Mining
Recommender Systems
ALS
Logistic Regression
Gradient Boosting
Random Forest
Neural Networks
K-Means Clustering
Hyperparameter Tuning
Cross-Validation
Data Visualisation
Feedforward Neural Network for News Topic Classification
- Built a Feedforward Neural Network from scratch in NumPy, implementing backpropagation,ReLU, softmax, cross-entropy loss, and dropout for 3-class news article classification.
- Benchmarked randomly initialised embeddings against frozen GloVe pre-trained embeddings, achieving up to 87.9% test accuracy via SGD with systematic hyperparameter tuning.
- Extended the network with multi-layer architectures and conducted error analysis using confusion matrices and per-class word frequency inspection to diagnose misclassifications.
Neural Networks
NLP
NumPy
Feedforward Neural Network
Backpropagation
SGD
GloVe Embeddings
Text Classification
Dropout Regularisation
Hyperparameter Tuning
Softmax
Cross-Entropy Loss
AG News Corpus
Deep Learning from Scratch
Unsupervised Learning and Deep Classification on Fashion MNIST
- Applied K-Means clustering and PCA (3-component dimensionality reduction) to Fashion MNIST, visualising cluster quality against true labels in reduced feature space.
- Trained and benchmarked Logistic Regression, RNN, CNN, and a Fully Connected CNN in PyTorch, evaluating training, validation, and test accuracy across all architectures.
- Analysed complexity-performance trade-offs across models, implementing structured training loops with cross-entropy loss and batch-based data loading throughout.
Unsupervised Learning
Deep Learning
PyTorch
CNN
RNN
Logistic Regression
K-Means Clustering
PCA
Dimensionality Reduction
Image Classification
Fashion MNIST
Cross-Entropy Loss
Model Comparison
Computer Vision
Probabilistic Bee Path Tracking with Gaussian Basis Regression
- Implemented a probabilistic regression model using Gaussian Radial Basis Functions to reconstruct bee flight trajectories from noisy 2D sensor observations.
- Derived and minimised a regularised negative log-likelihood objective, fitting 20 model parameters via numerical optimisation using scipy.optimize.minimize.
- Selected optimal regularisation and noise scale hyperparameters through grid search across multiple datasets, evaluating reconstruction quality against ground-truth flight paths.
Gaussian Radial Basis Functions
Probabilistic Modelling
Regression
Numerical Optimisation
Regularisation
Hyperparameter Tuning
Trajectory Reconstruction
NumPy
Log-Likelihood
Machine Learning
Spatial Modelling
Denoising Autoencoder on CIFAR-10
- Built a convolutional denoising autoencoder in PyTorch using Conv2d and ConvTranspose2d layers to learn compressed latent representations of CIFAR-10 images.
- Trained the model to reconstruct clean images from synthetically corrupted inputs, evaluating reconstruction error on a held-out noisy test set.
- Saved and reloaded model weights for inference, qualitatively and quantitatively comparing denoised outputs against original images to assess reconstruction quality.
Autoencoder
Denoising
PyTorch
CNN
Conv2d
ConvTranspose2d
CIFAR-10
Image Reconstruction
Representation Learning
Computer Vision
Deep Learning
Model Serialisation
Digital Forensics Investigation Lab
- Analysed disk images and memory dumps using Autopsy, FTK, and Volatility to recover digital artefacts and reconstruct event timelines in Windows environments.
- Captured and inspected network traffic with Wireshark to identify indicators of compromise, complemented by password analysis using John the Ripper.
- Documented findings following structured forensic procedures, maintaining chain of custody and producing professional evidence reports suitable for investigative use.
Digital Forensics
Memory Forensics
Disk Forensics
Autopsy
FTK
Volatility
Wireshark
John the Ripper
Network Traffic Analysis
Incident Response
Chain of Custody
Cybersecurity
SoK: Intrusion Detection for Automotive and Autonomous Vehicle Systems
- Co-authored a Systematization of Knowledge (SoK) paper surveying Intrusion Detection Systems for automotive networks, covering CAN bus and V2X communication protocols and their security vulnerabilities.
- Developed a two-dimensional IDS taxonomy categorising 20+ systems by algorithm type (timing, rule, entropy, specification, ML, and deep learning) and attack type under the CIA triad, analysing systems including CANShield, EdgeTDC, and MULSAM.
- Critically evaluated trade-offs between detection accuracy, computational cost, and real-world deployability, identifying open challenges and proposing future directions including federated learning and security-by-design for next-generation protocols.
Cybersecurity
Intrusion Detection
Automotive Security
CAN Bus
V2X
Autonomous Vehicles
Machine Learning
Deep Learning
Federated Learning
Taxonomy
Research
SoK
Academic Writing
CIA Triad
BSc Year 4 Projects
A Study on Buffer Overflow Attacks
- Exploited stack-based buffer overflows in vulnerable C programs across Windows XP, Windows 11, and Linux to achieve arbitrary code execution, demonstrating cross-platform offensive security fundamentals.
- Wrote Bash scripts on Kali Linux to open a remote shell on a Windows 11 target, simulating a real-world post-exploitation scenario.
- Used GDB and pwntools to debug binaries and develop proof-of-concept exploits, evaluating mitigations including stack canaries, ASLR, and DEP/NX.
Buffer Overflow
Exploit Development
Offensive Security
GDB
pwntools
Kali Linux
C
ASLR
Penetration Testing
ANN with Particle Swarm Optimisation
- Implemented an Artificial Neural Network and Particle Swarm Optimisation algorithm entirely from scratch in Python, without any external ML libraries.
- Designed an interactive Tkinter GUI to visualise training progress and model behaviour in real time, enabling intuitive exploration of the optimisation process.
- Structured the project into modular components, cleanly separating optimisation logic, model architecture, and the user interface for maintainability and clarity.
Artificial Neural Networks
Particle Swarm Optimisation
Python
Tkinter
BSc Year 3 Projects
MemoriesAR — Full-Stack Mobile Application
- Co-developed a full-stack platform with a mobile app and web admin panel using React, React Native, Node.js, MySQL, and Firebase Authentication.
- Built and tested backend APIs for authentication and database access, ensuring reliable integration between frontend clients and server-side services.
- Worked in an Agile/Scrum environment, contributing to sprint planning and iterative feature development across a team.
React
React Native
Node.js
MySQL
Firebase
REST APIs
Full-Stack Development
Mobile Development
Agile
Scrum
Team Collaboration
BSc Year 2 Projects
Mastermind Game — C & ARM Assembly on Raspberry Pi
- Implemented a Mastermind game in C with inline ARM Assembly on a Raspberry Pi, interfacing with physical components including LEDs, LCD display, and buttons via GPIO.
- Managed low-level register usage, execution flow, and direct hardware interaction at the assembly level, maintaining correctness across C and assembly boundaries.
- Debugged complex cross-language behaviour in a hardware-software co-design context, demonstrating hands-on embedded systems development with real physical components.
ARM Assembly
C
Raspberry Pi
Embedded Systems
Hardware Programming
Low-Level Programming
GPIO
LCD Display
Inline Assembly
Hardware-Software Interface
LSB Steganography Tool in C
- Built a command-line steganography tool in C to encode and decode hidden messages within PPM images using Least Significant Bit (LSB) encoding.
- Implemented bit manipulation logic to embed secret data into image pixel values with minimal visual distortion, preserving image integrity across encode-decode cycles.
- Developed robust error handling to manage edge cases such as oversized messages, malformed image files, and invalid inputs, ensuring reliable CLI operation.
[Code]
C
Steganography
LSB Encoding
PPM Images
CLI
Image Processing
Low-Level Programming
Bit Manipulation
Error Handling