Teaching

Helping students connect analytical methods with real decisions

I have taught and supported teaching at undergraduate and postgraduate level in the UK and Iran, across artificial intelligence, machine learning, statistics, programming and computing systems. Below: the roles, the subjects, how I teach, and a worked exercise you can open.

Roles

  • 2021 – 2023

    Teaching support / Graduate Learning Assistant

    University of Essex, School of Computer Science and Electronic Engineering and Department of Mathematical Sciences

    • Ran practical and problem-solving sessions, guided programming and modelling exercises, and supported assessment and formative feedback.
    • Undergraduate and postgraduate students from varied disciplinary backgrounds and levels of technical confidence.
  • 2012 – 2014

    Lecturer in Computer Science

    Pooyesh Higher Education Institute, Qom, Iran

    • Lectured in Artificial Intelligence (UG/PG), Advanced C, Computer Architecture, Assembly, Computer Structures and Peripherals, and Data Storage and Retrieval.
    • Also taught introductory networks and Internet fundamentals, using guided examples and practical assessments.

Essex experience was teaching support; Pooyesh experience involved lecturing. The forecasting exercise below is a separate illustrative teaching sample using synthetic data.

Subjects

Essex · postgraduate teaching support
Research Methods · Neural Networks and Deep Learning
Essex · practical teaching support
AI and Machine Learning Applications · Python, R, SQL and databases · Java and web development · Data Structures and Algorithms · Applied statistics and data science
Pooyesh · independently lectured modules
Artificial Intelligence (UG/PG) · Advanced Programming in C · Computer Architecture · Assembly Language · Computer Structures and Peripherals · Data Storage and Retrieval · Introductory networks and Internet fundamentals

How I teach

Synthetic teaching sampleData → model → interpretation → decision
Chronological evaluation on the synthetic teaching seriesThe first 130 weeks train a seasonal naive baseline. The last 26 weeks are held out. Forecast and actual demand are drawn separately so students can inspect errors without training on future data. 20406080 Week 1130156 Demand units / week
Solid: observed demandDashed: seasonal naive forecastHeld-out MAE: 5.88 units
Use the chronological split to explain what a forecast could have known, then discuss what its errors mean for stock. Same seeded series and 130/26 split as the worked exercise.

I combine concise conceptual explanation with worked examples and coding activities, so that students meet a method three times: as an idea, as a calculation they can follow by hand, and as code they run on realistic data. I put the decision a method supports at the front of the session, because "what would you do with this number?" is the question that makes statistics matter to a business or computing student.

Two habits come from my applied work. First, baselines: students learn to beat a naive forecast before they are allowed a neural network. Second, honest evaluation: chronological splits for time series, error reported with its metric and context, and a clear statement of what a model cannot know. My industry projects give me authentic cases for discussing data quality, model reliability, stakeholder adoption and the responsible use of automated recommendations.

I adapt for mixed cohorts. In practical sessions I move between students who need the underlying maths made explicit and those who need help turning an idea into working code, and I use formative feedback early rather than waiting for a summative mark.

Sample exercise

Worked exercise · 90 minutes · synthetic data

Forecasting a demand series: from naive baseline to a stock decision

For MSc business analytics or final-year computing students. Build two baselines, make a chronological split, measure error properly, and turn the forecast and its error into a reorder quantity under a service level. Every number on the page is computed from a synthetic series generated in the page's own code.

Open the exercise →

Teaching or workshops

Guest lectures and short courses

I am available for guest lectures, workshops and short courses on demand forecasting, inventory decisions, and forecast-informed optimisation, for university programmes or industry teams.

Enquire about teaching or workshops →

The worked exercise above is a teaching sample. Further synthetic forecasting activities are in the lab. Interactive forecasting exercises →