Teaching Experience

Concordia University, course instructor

  • 2025, summer COMP 335: Introduction to Theoretical Computer Science (undergraduate)
  • 2025, winter COMP 248: Object-Oriented Programming I (undergraduate)
  • 2024, fall (x2) COMP 335: Introduction to Theoretical Computer Science (undergraduate)
  • 2023, winter    COMP 6961: Graduate Seminar in Computer Science (graduate)
  • 2023, winter    COMP 691: Online Algorithms (graduate)
  • 2023, winter    COMP 233: Probability and Statistics for Computer Science (undergraduate)
  • 2023, fall         COMP 335: Introduction to Theoretical Computer Science (undergraduate)
  • 2022, fall         COMP 6961: Graduate Seminar in Computer Science (graduate)
  • 2022, fall         COMP 6651: Algorithm Design Techniques (graduate)
  • 2022, summer COMP 490: Computer Science Project I (supervisor)
  • 2022, summer COMP 6961: Graduate Seminar in Computer Science (graduate)
  • 2022, winter    COMP 465: Design and Analysis of Algorithms (undergraduate)
  • 2021, fall         COMP 335: Introduction to Theoretical Computer Science (undergraduate)
  • 2021, winter    COMP 6651: Algorithm Design Techniques (graduate)
  • 2020, fall         COMP 6651: Algorithm Design Techniques (graduate)
  • 2020, fall         COMP 335: Introduction to Theoretical Computer Science (undergraduate)
  • 2020, winter    COMP 691: Online Algorithms and Competitive Analysis (graduate)
  • 2020, summer COMP 7651: Advanced Analysis of Algorithms (reading course)
  • 2019, fall         COMP 335: Introduction to Theoretical Computer Science (undergraduate)
  • 2019, summer COMP 691: Online Algorithms and Competitive Analysis (reading course)
  • 2019, winter    COMP 691: Online Algorithms and Competitive Analysis (graduate)
  • 2018, fall         COMP 335: Introduction to Theoretical Computer Science (undergraduate)

University of Toronto, course instructor

  • 2017, winter    CSC373: Algorithm Design, Analysis and Complexity (undergraduate)

University of Chicago, teaching assistant

  • Introduction to Computer Systems (undergraduate) – 2013, 2015 (spring)
  • Scientific Visualization (graduate) – 2013, 2015 (winter)
  • Discrete Mathematics (undergraduate) – 2011, 2013 (autumn)
  • Discrete Mathematics for Computer Science (professional master’s) – 2013 (summer)
  • Introduction to Quantitative Modeling in Biology (undergraduate) – 2011, 2012, 2013 (spring)
  • Introduction to Formal Languages (undergraduate) – 2012 (autumn)
  • Theory of Algorithms (undergraduate) – 2011, 2012 (winter)
  • Algorithms (professional master’s) – 2009 (autumn), 2011 (spring)
  • Discrete Mathematics (graduate) – 2010 (autumn)
  • Advanced Algorithms (professional master’s) – 2010 (winter)

Teaching Philosophy

Conventionally, teaching is often understood as the process of transfer of knowledge and skills from a teacher to a student. The wise, having understood that this is an impossible goal, said that the teacher only points the way, while the student must walk the path by themselves. This means that the main goal of the teacher should be in creating conditions that are conductive for the learning process of the student. The student’s main goal is to practice in accordance with those conditions.

To expand on the above: the teacher’s functions are

  • to deliver the material and point to available resources that are suitable to the student’s level;
  • to instruct the student on how to use those resources for the development of knowledge and skills;
  • to motivate the study of the subject by making connections to other subjects;
  • to inspire the student to practice by various means.

The student’s functions are

  • to listen carefully to the instructions of the teacher;
  • to practice in accordance with those instructions;
  • to observe the results of the practice, and make notes of what worked well and what didn’t;
  • to communicate with the teacher to seek advice with respect to their practice.

All of it can be summarized by saying that the main goal of the teacher and the student is to care for the student’s practice. This is a much more reasonable and achievable goal than to transfer the knowledge and skills: it may not always be possible to transfer the knowledge and skills, but it is always possible to care for the practice. Thus, I have a bold proposal of renaming Education into Educationcare, similar to how instead of Health we have Healthcare.

You can see what some of my students say about me at RateMyProfessors.com.