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.