Data Engineering and Machine Learning
Undergraduate course, Imperial College London, Department of Civil and Environmental Engineering, 2025
Teaching Overview
During the official Spring Term at Imperial College London, I served as a guest lecturer for the undergraduate module CIVE70122: Data Engineering, hosted by the Department of Civil and Environmental Engineering. This module focused on the practical application of data engineering and machine learning techniques for solving real-world analytical problems.
The course was designed to provide students with a hands-on, end-to-end understanding of modern data workflows — including data preprocessing, modelling, evaluation, and visual communication — through weekly applied sessions.
Teaching Contributions
As a guest lecturer, I led the following instructional sessions:
Session 1: Introduction and Lab Setup
Introduced core concepts of data engineering, including structured/unstructured data types, ML pipelines, and infrastructure setup using Python, Jupyter Notebooks, and essential libraries (pandas, NumPy, scikit-learn).Session 2: Data Processing, Dashboard Development, and Visualisation
Covered advanced data wrangling and feature engineering techniques. Demonstrated the use of interactive dashboard tools (e.g. Plotly Dash, Streamlit) for visualising multidimensional data.Session 3: Implementing Regression Models
Taught fundamental regression algorithms including linear, ridge, and polynomial regression. Emphasised pipeline integration, error metrics (RMSE, MAE), and diagnostic plotting.Session 4: Neural Network Implementation
Delivered practical instruction on implementing feedforward neural networks using TensorFlow/Keras. Topics included architecture definition, training/validation loops, and tuning hyperparameters.Session 5: Clustering Applications
Introduced unsupervised learning methods such as K-Means, DBSCAN, and Agglomerative Clustering. Covered cluster validity metrics (e.g., silhouette score) and visual interpretation techniques.Session 6: Reinforcement Learning Applications
Explored the fundamentals of reinforcement learning, including Q-learning and reward-based optimisation. Illustrated basic implementations using OpenAI Gym for interactive learning.Session 7: Statistical Comparison of Machine Learning Models & Retrieval-Augmented Generation
Provided techniques for statistically comparing machine learning models (paired t-tests, non-parametric tests). Introduced Retrieval-Augmented Generation (RAG) as an emerging paradigm for combining information retrieval with generative AI.Session 8: Comparative Visualisation of ML Techniques & Transformers (NLP)
Explained comparative analysis strategies using parallel visualisations and confusion matrices. Covered the foundations of transformer architectures (e.g., BERT, GPT) and their relevance to structured and semi-structured data.Session 9: Group Project Presentations
Supervised and evaluated final group projects involving full-stack data pipelines, ML model deployment, and live dashboard demonstrations. Provided feedback on modelling decisions, presentation clarity, and reproducibility.
Assessment Framework
35% Coursework
Weekly applied tasks, where students iteratively implemented and tested components of a unified data engineering pipeline.65% Group Project
Capstone project involving dataset analysis, ML model selection, visualisation development, and oral presentation. Assessment focused on technical rigour, teamwork, and communication.
This teaching engagement demonstrated my commitment to equipping students with industry-relevant, transferable skills in data science, machine learning, and applied engineering analytics.