Machine Learning
Supervised learning, classification, regression, clustering, evaluation, and model comparison.
Teaching & mentoring
I enjoy teaching machine learning, artificial intelligence, Python, data science, algorithms, and research workflows through clear examples and hands-on reasoning.
Philosophy
In technical subjects, students often get stuck between mathematical notation, code implementation, and conceptual understanding. I try to connect these layers so that a student can explain what the code is doing, why the algorithm works, and how to verify the output.
My teaching style is practical and feedback-oriented. I value clear working, reproducible code, step-by-step reasoning, and visual checks wherever possible.
For machine learning and AI, I encourage students to move beyond simply running notebooks and toward understanding assumptions, inputs, outputs, evaluation metrics, and failure modes.
Teaching areas
Supervised learning, classification, regression, clustering, evaluation, and model comparison.
Search, reasoning, graph algorithms, intelligent systems, and applied AI workflows.
Scientific Python, notebooks, debugging, NumPy, pandas, plotting, and reproducibility.
Data preparation, exploratory analysis, metrics, visualisation, and communicating findings.
BFS, DFS, shortest paths, adjacency matrices, traversal order, and implementation details.
Slurm workflows, job scripts, file audits, logs, scientific pipelines, and HPC debugging.
Feedback approach
I first check whether the answer, code, output, or reasoning is technically correct.
I try to point out the specific conceptual or implementation issue, not just mark it wrong.
I give actionable advice: show working, verify output, plot results, or implement rather than do manually.
Example teaching principle: “The code running is not the same as the method being understood.”
Sample learning materials
Teaching
I’m interested in clear, practical technical education around AI, ML, scientific Python, and research computing.
Contact me