At the University of Toronto, I led tutorials and labs in mathematical optimization and machine learning. My teaching connects mathematical formulations, computational methods, and their behavior in practice, helping students understand how modeling and algorithmic choices affect solutions.

Advanced Operations Research

MIE365H1 · Fall 2020, 2023, 2024

Teaching assistant & lab instructor

I led the tutorials and labs over three fall terms and wrote the eight lab notebooks for Fall 2024. The notebooks combine mathematical formulations with guided exercises in modeling and algorithm implementation.

Mathematical Programming

MIE376H1 · Winter 2024

Teaching assistant & lab instructor

I designed the assignments, exam problems, and lab exercises, and led the labs. The exercises ask students to formulate decision problems as linear, network, and integer programs and solve them, pairing the theory of mathematical programming with practice in modeling.

Optimization in Machine Learning

MIE424H1 · Winter 2024

Teaching assistant & lab instructor

I led the tutorials and labs. The labs connect machine-learning methods with their optimization foundations, from formulating regularized regression problems in CVXPY to implementing the splitting criteria of decision trees.

PyEPO is the library I develop for decision-focused learning. These tutorials teach the idea behind it: a predictive model should be judged by the decisions it leads to, not by its prediction error alone. The tutorial materials then cover the workflow: embedding an optimization model in PyTorch training, learning with decision-focused losses, and comparing decision regret with that of a conventional two-stage baseline.