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 operational research. Below: the roles, the subjects, how I teach, and a worked exercise you can open.

Roles

  • 2021 – 2023

    Teaching Assistant – Data Science, Statistics and Computing

    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

    • Delivered lectures and practical classes in programming, algorithms, data structures, artificial intelligence and related computing modules.
    • Supervised practical software-development projects.

Supervision, module leadership and formal teaching qualifications are not listed because I have not held them in a UK institution; I would welcome the opportunity to take them on.

Subjects

Artificial intelligence and machine learning
Artificial Intelligence and Machine Learning Applications · Neural Networks and Deep Learning · Artificial Intelligence (Pooyesh)
Statistics and forecasting
Applied Statistics · Stochastic Processes · Mathematics for Data Science · Time-series forecasting (research training and practice)
Programming and data
Python · R · SQL and Databases · Java · Data Structures and Algorithms · Programming, algorithms and computing systems (Pooyesh)
Operational research
Optimisation, simulation and decision-making under uncertainty (doctoral and KTP practice; supporting teaching at Essex)

How I teach

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 →