Teaching

Teaching Experience

CISC 365: Algorithms

Principles of the design, analysis, and implementation of efficient algorithms. Case studies drawn from a variety of areas illustrate divide-and-conquer methods, the greedy approach, branch-and-bound algorithms, and dynamic programming.

Instructor, CISC 365: Algorithms, Queen’s University, Fall 2026

CISC 102: Discrete Structures

An introduction to the fundamental mathematical structures and reasoning techniques used in computer science. Topics include propositional and predicate logic, set theory, functions, sequences, relations, and graphs. The course emphasizes algorithmic thinking, combinatorial analysis, and proof construction, providing the theoretical foundations for later study in algorithms, data structures, and discrete system design.

Instructor, CISC 102: Discrete Structures, Queen’s University, Winter 2026 [Syllabus]

Instructor, CISC 102: Discrete Structures, Queen’s University, Fall 2024

Instructor, CISC 102: Discrete Mathematics, Queen’s University, Fall 2022

Course evaluations (QSSET) are available upon request.


Teaching Assistant Experience

Teaching Assistant, CISC 204: Logic for Computing Science, Queen’s University, Fall 2025

Teaching Assistant, CISC 335: Computer Networks, Queen’s University, Winter 2022, 2023, 2024, 2025, 2026

Teaching Assistant, CISC 452: Neural and Genetic Computing, Queen’s University, Fall 2023

Teaching Assistant, COMP 2002: Data Structure, Memorial University, Winter 2021


Evidence of Teaching Effectiveness

Letters of Appreciation from Students

Thank-you card from CISC 102 students reading 'Best Teacher Ever'
Thank-you card from CISC 102 students
Typed thank-you letter signed by CISC 102 students
Thank-you letter from CISC 102 students

Click an image to view it at full size.


Teaching Philosophy

I envision my teaching philosophy as a Greek temple, where the roof represents inclusive, reflective, and applied learning, and three pillars uphold its foundation.

Teaching philosophy diagram: a Greek temple whose three pillars support inclusive, reflective, and applied learning

Three Pillars:

  1. Student-Centered Learning through Differentiation
    • Respect student diversity with tiered learning paths
    • Use formative assessments for real-time feedback
    • Offer assessment choice to recognize diverse strengths
  2. Reciprocity of Teaching and Learning
    • Create co-learning moments where students share insights
    • Use “Muddiest Point” feedback to adapt instruction
    • View teaching as continuous dialogue
  3. Integration of Theory and Practice
    • Employ case-based learning with real-world scenarios
    • Conduct live problem-solving sessions
    • Map conceptual connections between proofs and algorithms

Last updated: · Privacy