Teaching

Teaching computing through design, evidence, and deliberate practice.

My teaching connects conceptual understanding with implementation, debugging, explanation, and reflection—so students learn how systems work, not only how to produce an answer.

Request teaching portfolio
A university research and learning groupCollaborative learning and research exchange
Teaching philosophy

Four commitments in the classroom.

01

Make thinking visible

Students explain assumptions, intermediate decisions, errors, and trade-offs—not just final outputs.

02

Practice with feedback

Exercises progress from guided examples to independent design, with rapid feedback and opportunities to revise.

03

Use AI critically

AI tools can support learning when students audit, test, and improve generated work rather than outsourcing judgment.

04

Design for inclusion

Clear structure, multiple representations, and transparent criteria help students with varied backgrounds engage fully.

Western University

Courses supported.

Teaching and instructional support across programming, databases, software design, and engineering practice.

ES 1036

Programming Fundamentals for Engineers

Problem decomposition, programming fundamentals, and applied computational thinking.

SE 3309

Database Management Systems

Relational modeling, SQL, normalization, transactions, and database design. Lead TA experience.

SE 2251

Software Design for Systems Engineering

Object-oriented design, modularity, implementation, and software-development practice.

SE 3350

Software Engineering Design I

Requirements, architecture, team workflows, and iterative system design.

Assessment design

AI-aware assessment that still produces learning.

1

Generate, then audit

Students may use AI, but must identify errors, test assumptions, and explain each correction.

2

Defend a live change

A small requirement is changed during assessment; students adapt the solution and justify the impact.

3

Compare alternatives

Students evaluate multiple designs using explicit criteria rather than presenting a single opaque answer.

4

Reflect on evidence

Short reflections connect debugging traces, test results, and design decisions to the final submission.