Teaching

Introduction to Numerical Programming in Python

Guest lectures for Embedded Systems 1 (ECS1001) module.

A light introduction for students with previous Python experience (typically from A-level Computer Science) on how to write numerical code using Numpy covering:

  • Introduction to Numpy
  • Solving simultaneous equations
  • Basic linear regression

Course notes and materials can be viewed on GitHub

Fundamentals of Programming for Engineers

Instructor for part of a supplementary course aimed at reinforcing foundational programming concepts such as data types and flow control for non-CS students.

Delivered lectures on data types and variables including theory and application in a procedural language (in this case Java), as well as practical exercises in an interactive lab (link to GitHub). Developed mock final exercise based around a tangible engineering problem, implementing a basic circuit solver using Cramer’s rule (link to GitHub).

Final Year Projects

I have been involved in the development and delivery of the following final year BEng/MEng projects for students on the EEE pathway:

  • Real-time Vehicle Detection using Xilinx ZCU104 FPGA hardware.
  • Improved embedded sensor systems for bridge structural health monitoring.
  • Signal processing for bridge structural health monitoring applications.

Training

I have also delivered training (both lecture-style and practical hands-on demos) for colleagues on topics such as using Git and GitHub for collaborative software development, and various aspects of instrumentation and signals processing relevant to infrastructure monitoring.