I am a teaching-stream professor in the Department of Computer Science at the University of Toronto, St. George campus. .

To the left is the most flattering picture of myself I could find. It also has the advantage that it perfectly encapsulates my relationship with chocolate.

Current teaching

In 2022-23, I taught or co-taught:

  • CSC110 Foundations of Computer Science I
  • CSC111 Foundations of Computer Science II
  • CSC209 Software Tools and Systems Programming
  • ENG286 Literature and Data
  • GGR274 Introductory Computation and Data Science for the Social Sciences
  • EEB125 Introductory Computation and Data Science for the Life and Physical Sciences

My life so far

I was born in Ottawa some time ago, and after spending a few years skating on the Rideau Canal, I moved to Toronto to attend this place.

I did my undergraduate studies in Mathematics at the University of Waterloo, primarily with these fantastic people, and would not be where I am today without the inspiration and support of Levent Tuncel and Andrew Childs.

After I graduated, I moved right around the corner from the best cafe in Toronto. I completed a Master's degree in the Computer Science Theory Group at the University of Toronto under the supervision of Toni Pitassi and Steve Cook. In July 2015, I joined the department permanently as a teaching-stream faculty member. And on July 2021, I was promoted to Associate Professor, Teaching Stream!

Other things about me

Contact information

My office is located in the Bahen Centre, room 4260. I usually prefer setting up appointments by email, but if you see my door open feel free to ask if I have a moment (but I might say no). My email address is david at cs dot toronto dot edu.


My website favicon is from favicon.cc.