Top

New faculty spotlight: Paul He

Paul He smiles facing the camera in headshot photo.

Paul He, assistant professor, teaching stream

Get to know Paul He, assistant professor, teaching stream, who joined the Department of Computer Science this August. 

He received his PhD in 2024 from the University of Pennsylvania in the department of computer and information science.  

How did you discover your interest in teaching computer science and what do you most enjoy about it?  

During my bachelor’s I had a few smaller teaching jobs, grading and tutoring, and generally liked it. So, during my PhD I figured I would go a bit further and ended up designing and teaching a C++ class, before even TAing a course. And I really liked teaching! I could really see the impact I was having and how students were learning new things. Like many educators I really loved being able to explain or introduce something new to students and see their “aha” moment when they got it.  

How would you describe your teaching style and approach to teaching introductory computer science courses?  

Overall, I’d say my teaching style is still evolving a lot and I’m fairly flexible in how I teach. When I taught introductory computer science previously, I really focused on student interaction and had a lot of student polls and in-class activities. I’m looking forward to seeing what other professors at U of T do and what works well for students here!  

Tell us about some of your past research in programming language theory and what attracted you to this area of computer science.  

My past research mostly deals with formal verification, where we formally prove properties about programs. My PhD thesis was about using techniques for verifying concurrent code in a different setting, for verifying pointer-manipulating code. I was introduced to this area in my bachelor’s when I worked on a project for verifying the type system of the Scala language. I didn’t know anything about programming language theory at the time — I was just interested in writing proofs — but I really enjoyed the work and the fact that the theory we were doing had an impact on real software and how programmers do their work.  

What drew you to the Department of Computer Science at the University of  Toronto?  

The biggest thing by far was the community of other teaching stream faculty in the department. Such a large and experienced group of teaching faculty is really rare, even when considering CS departments worldwide. It’s great to be a part of this group, as well as a part of a department and university that values teaching so much. The location was also certainly a factor. I grew up in Toronto, and I’m really happy to be home.  

What do you like to do when you’re not teaching computer science?  

In the last few years, I've been doing a lot of rock climbing, both indoors and outdoors. I like to get around Philly by bike, and I’m looking forward to exploring Toronto on my bike, too. I also really enjoy reading novels, travelling and video games.