How We Teach
Teaching Philosophy
How I teach: student-led sessions, filling foundational gaps, intuition before formalism, and building confident, self-sufficient learners.
I have worked with students of all ages across multiple different domains: from elementary schoolers to undergrads and from one-on-one to full lecture halls. Throughout almost the last decade of my career, I have developed a unified set of core teaching principles. I aim not just to teach a subject, but to foster confident, self-sufficient students.
Student-led sessions
Students should be in charge of their own learning. I serve as a guide, but the student is an active participant in the conversation. I lead with questions rather than explanations. I encourage the student to arrive at the answer themselves. I model good practices and thought processes that the student can adopt.
Address the foundational gaps
Every student arrives with a different foundation. Before addressing the topic at hand, I look for where the real gap is. It is not always immediately obvious, but through keen observations and asking the right questions we can find the root of the issue. Rather than simply reteaching the surface-level concept the student struggles with, we can create a solid foundation for more confident, sustainable learning. In a classroom with 30 students and a set curriculum, it is impossible to address foundational needs.
Intuition before formalism
When introducing a concept, I start by drawing a visual or relating the concept to a familiar phenomenon. Making the concept more relatable makes it easier for the student to engage with the topic deeply.
Emphasize craft and thoughtfulness
Just getting the right answer is not enough. It is important to foster soft skills such as attention to detail and clear communication.
In math, this means clean mathematical communication: writing neatly, using notation properly, and presenting work in a way that others can easily follow. Logical thinking and logical writing go hand-in-hand.
In computer science, this means good programming practices: readable code with descriptive variable names, clean spacing, and splitting code into logical pieces. These habits are part of what it means to write good software, and I introduce them whenever the opportunity comes up naturally.
Additionally, I encourage students to make deeper connections. Rather than just memorizing a formula, I show the student how they can derive it themselves — asking “why” instead of just “what.” I make sure the student can explain concepts in their own words. This means they are making lasting connections, rather than just cramming.
Foster a growth mindset
Some people believe that they just aren’t good at math. But I believe that anybody can learn anything, as long as they set their mind to it. With the right explanation, the right pace, and enough practice, every student can improve. Some will improve faster than others, and the starting points are different — but the direction is always forward. If a student has internalized the message that they are bad at math, they need patience and small wins to build confidence. I turn “I can’t” into “I can”.
Meet the student where they are
This applies to everything: their current knowledge, their goals, their age, and how they communicate. While my fundamental approach is always the same, I adapt the way that I communicate to fit the student in front of me. If a student is feeling frustrated, we can take a step back to address their feelings in a productive and healthy way so we can restart with a fresh mind.
See this philosophy in action
Book a free 15-minute consultation and we'll talk about what your student needs — no commitment, no sales pitch.
Get updates and parent resources
No spam. Unsubscribe anytime.