Teaching Philosophy

Over the course of a semester, most of my students learn a lot about me as a person. I’ve been told I have a very transparent teaching style. In the interest of transparency, and in light of the news that all RIT courses are about to shift to “alternate delivery” modes in the next 2 weeks, I think now is a good time to share something I wrote a little over a year ago: my offical “teaching statement”.

For those who don’t know, a teaching statment is a formal description of an instructor’s approach to teaching. Below is mine (slightly edited for public consumption)…


I have spent the majority of my life as a student in one way or another. From grade school math teachers to internationally recognized equestrians, I’ve had the privilege of learning from some truly exceptional instructors. They taught me to try new things, see the bigger picture, and grow from my mistakes. As a result, I was able to find a career path where I love what I do. The more I teach, and the more I see myself in my students, the more confident I am that my mission isn’t solely to instill knowledge; it’s to create an environment that inspires each student to develop their own goal, find their path to those goals, and develop the skills they need to succeed.

The first step in creating that environment is always making it clear to my students that it’s their job to try; it’s mine to help them succeed. I am not a judge or all-knowing oracle, just an experienced guide who, like them, is better at doing what I’ve done before. I just happen to have had more opportunities to try more things. Similarly, I have types of problems that I enjoy tackling (race conditions & requirements analysis) and those that I don’t (UI layouts & cost estimation). In short, we’re all only human. We have strengths and weaknesses, outside commitments, hobbies, and entire lives outside the classroom. When we step into the classroom, none of those things go away. Instead, we embrace them. We get to know each other, and together, we build a community that supports each other.

I feel strongly that there is no “ideal” path or personality essential to becoming successful (professionally or personally). Any student in my classes must feel welcome regardless of their nationality, race, gender, and individual strengths and weaknesses. I encourage my students to share their own experiences and lessons learned with me and each other. This dynamic means that class is often casual and interactive. In many ways, this mirrors the professional enviromnents I’ve enjoyed most: Everyone is comfortable, engaged, supportive, and productive.

By necessity, computing education involves a certain degree of formal knowledge transfer. However, it is equally important that students get to practice applying concepts to larger problems. Teamwork allows students to tackle much larger projects than they’d have time for individually within a semester. In all of my courses, students do real projects, with real teammates, in real-world scenarios. Along the way, I guide their experience via discussions and exercises to connect course content to the project and help them learn from the challenges they encounter.

With all course activities, but especially team projects, I set students up for success, but allow them to fail. Mistakes, confusion, and even failure are never things to be ashamed of in my classroom. Students need to know that mistakes are normal. In fact, we only become better by learning to recognize and fix problems. Rather than allow failure to become a barrier, I make sure they have ample opportunities to recover and then work with them to understand why it happened and how they can prevent future problems.