Teaching Philosophy
If you happen to be in one of my courses, you'll quickly realize my ultimate goal is less about what you learn, and more about how you learn to think. I care that students learn how to read between the lines in a dense textbook. I want autonomous graduate capable of engaging with research and better communicators of mathematics.
The word for "student" in my native Arabic is "seeker" , as in seeker of knowledge (talib al ilm طالب العلم). The student needs to have the "will", and where there is will, there is a way. I also believe, like László said, that "geniuses are made not born" .
More beliefs:
1. Less can be more. Teaching few foundational topics with ample practice, particularly in introductory courses, is often more effective than trying to cover numerous topics.
2. It is OK to be slow. It is crucial to identify and address any gaps in the assumed background knowledge. A subject can seem more challenging than it truly is if the foundational understanding is weak. Fortunately, bridging the gaps is often not so demanding.
3. Proper communication, particularly in writing, is no less important than mastering the technical fundamentals of a subject. The first step in solving a problem is articulating it clearly.
4. Teaching to solve problems is education of the will — George Pólya.
Teaching History
At the University of Toronto Mississauga (UTM)
CSC108: Introduction to Computer Programming, Fall 2025.
CSC373: Algorithm Design and Analysis, Fall 2023 – 2025.
CSC363: Computational Complexity and Computability, Winter 2021 (online), 2022 (online), 2023 – 2025.
CSC338: Numerical Methods, Winter 2024, 2025.
CSC236: Introduction to the Theory of Computation, Fall 2024.
At the University of Waterloo (UW)
MATH136: Linear Algebra 1 for Honours Mathematics, Winter 2022 (in-person), 2023 (online).
MATH135: Algebra for Honours Mathematics, Fall 2018, 2019, 2021 (online), 2022 (online).
PMATH334: Introduction to Rings and Fields with Applications, Winter 2018.