Teaching

Courses taught, teaching philosophy, and educational resources for students.

Approach

Teaching Philosophy

My teaching philosophy centers on creating an engaging, inclusive, and intellectually stimulating environment where students can develop both technical skills and critical thinking abilities. I believe in:

  • Active learning through hands-on projects and real-world applications
  • Fostering curiosity and independent problem-solving skills
  • Adapting to diverse learning styles and backgrounds
  • Connecting course material to current research and industry trends
  • Encouraging collaboration and peer learning

I strive to make complex concepts accessible while challenging students to push their boundaries and develop a deep understanding of the subject matter.

Offerings

Current Courses

UX Design

CSCU9X5 - Autumn 2025 | Undergraduate

This course introduces students to the principles and practices of user experience (UX) design, focusing on how to create intuitive, accessible, and engaging digital interfaces. Students learn design thinking, information architecture, and user testing through practical projects, developing empathy-driven design solutions that address real-world user needs.

Computing Science Project

CSCU9Z7 - Autumn 2025 | Undergraduate

A capstone course that enables students to apply theoretical knowledge to real-world problems through independent or group-based projects. Under supervision, students design, develop, and evaluate solutions in areas such as data science, machine learning, or software engineering. Emphasis is placed on project management, research methods, documentation, and professional presentation of findings.

Programming Language Paradigm

CSCU9D6 - Spring 2025 | Undergraduate

This course explores the concepts, design, and implementation of programming languages, introducing major paradigms such as imperative, object-oriented, functional, and logic programming. Students gain a deeper understanding of language structures, control flow, data abstraction, and runtime behavior, enabling them to write more efficient and expressive code across multiple programming languages.

History

Past Courses

Undergraduate Courses

  • Scripting for Data Science
  • Data Structures and Algorithms
  • Database Systems
  • Foundation of Computer Science
  • Programming with Python

Graduate Courses

  • Deep Learning
  • Operations Research
  • Computer Vision
  • Research Methods in CS

Seminars & Workshops

  • Academic Writing for CS
  • Research Career Development
  • AI for Social Good
  • Responsible AI Development