Skip to content

Teaching Philosophy

My teaching philosophy is grounded in the belief that education should cultivate curiosity, confidence, and a lifelong passion for learning. I view teaching as both an art and a science—one that blends thoughtful course design, evidence-based pedagogy, industry relevance, and inclusive practices to support diverse learners.

At the heart of my approach is a commitment to student success through intentional planning, active engagement, and continuous pedagogical reflection.


Purposeful Course Design and Strategic Planning

Effective teaching begins long before the first lecture. I believe that students learn best in environments where expectations are clear, timelines are predictable, and learning activities are coherently aligned.

For every course, I engage in early and structured planning—often one to two months before the semester begins—by developing detailed course outlines, timelines, assessment schedules, and learning management system materials. This preparation ensures consistency across lectures, labs, and assessments while minimizing uncertainty for students.

When teaching large multi-section courses, I emphasize collaborative leadership by working closely with instructional teams and teaching assistants. Through shared responsibility, clear communication structures, and inclusive planning meetings, I foster a teaching environment that prioritizes both instructional quality and student experience.


Student-Centered and Experiential Learning

I adopt a student-centered teaching philosophy that emphasizes active participation rather than passive content consumption. My classroom practice integrates flipped and semi-flipped learning models in which students engage with foundational material before class and participate in collaborative problem-solving during lectures.

A defining feature of my teaching is extensive live coding. Rather than relying solely on static slides or pre-written examples, I write code in real time, demonstrating problem-solving strategies, debugging techniques, and software design decisions as they naturally occur. This approach mirrors professional practice and helps students develop confidence in tackling unfamiliar problems.

To further enhance engagement, I incorporate interactive tools such as iClicker, Mentimeter, and collaborative discussion platforms. These tools support formative assessment, encourage participation from all students, and allow me to continuously adapt instruction based on real-time feedback.


Integrating Industry Experience into Teaching

My teaching is strongly informed by over nine years of industry experience as a software engineer and business systems analyst. This background enables me to bridge theory and practice by grounding abstract computer science concepts in authentic, real-world scenarios.

I regularly integrate industry-inspired examples, system design discussions, and applied projects into my courses. By connecting academic content to professional practice, students gain a clearer understanding of how computing concepts translate beyond the classroom and into real engineering contexts.

This practical orientation not only enhances comprehension but also supports students’ career readiness and confidence.


Inclusive, Equitable, and Accessible Learning Environments

I am deeply committed to equity, diversity, inclusion, and Indigenization in teaching. I strive to create classrooms where all students feel welcomed, respected, and empowered to succeed regardless of background, identity, or prior experience.

My teaching practices emphasize:

  • inclusive language and respectful dialogue
  • culturally responsive instructional strategies
  • multiple pathways for participation
  • flexible consultation and support structures

I proactively provide alternative mechanisms for engagement, particularly for students who may be uncomfortable speaking in large classes. I also integrate Indigenous perspectives where appropriate and remain committed to ongoing learning in inclusive pedagogical practice.


Technology-Enhanced Learning

Educational technology plays a central role in my teaching philosophy. I strategically employ tools such as learning management systems, Gradescope, collaborative platforms, and auto-grading systems to enhance transparency, consistency, and feedback quality.

These tools allow students to receive timely formative feedback while enabling teaching teams to maintain fairness and clarity in assessment—especially in large-enrollment courses.

In addition, my background in design allows me to produce visually accessible course materials, well-structured assignments, and intuitive learning resources that support diverse learning styles.


Commitment to Continuous Improvement

Teaching excellence is an ongoing process. I actively seek student feedback during and after each course through surveys, polls, and informal check-ins. This feedback directly informs adjustments to pacing, assessment structure, and instructional methods.

My commitment to pedagogical growth is supported by formal training, including the Western Certificate in University Teaching and Learning, participation in teaching mentorship programs, and continuous engagement with professional development workshops.

Through reflection, experimentation, and evidence-based practice, I strive to continually refine my teaching in response to student needs and evolving educational research.


Teaching Philosophy in Practice

Ultimately, my goal as an educator is to transform computer science education into an engaging, accessible, and empowering experience. I aim to create classrooms where students feel challenged yet supported, curious yet confident, and motivated not only to succeed academically but to continue learning beyond graduation.

Teaching, to me, is not simply the transmission of knowledge—it is the cultivation of thinkers, problem-solvers, and lifelong learners.