
I guide students as they move from imperative programming toward functional and logic programming.
Practicals use Haskell to develop recursive problem-solving, induction, higher-order abstractions, and a clearer understanding of computational models. I deliver classes, help students work through unfamiliar ways of structuring programs, and provide constructive assessment feedback.