Skip to: Site menu | Main content


Welcome. This page contains information about me and my personal and research-related projects.

I received my M.Sc in Computer Science from McMaster University. My Master's Thesis was about formalizing and proving properties of parsers. At around that time, I also became interested in writing a text on what I had learned. So, I wrote a book on using invariants to argue program correctness. No one bought the book (not even me!), so I decided to see if I was a better teacher than writer. I started as a sessional lecturer for the Department of CS at University of Toronto in 2008. I'm happy to say that students are still enrolling in my classes, so in some sense people are buying my teaching more than they bought my book.

I have a PhD from the Ontario Institute for Studies in Education (OISE) at the University of Toronto in Computer Science Education. My dissertation focused on evaluating Peer Instruction (PI) as a pedagogical approach for teaching CS courses.

I am now an Assistant Professor, Teaching Stream, in Computer Science, at University of Toronto Mississauga. In 2016/2017, I am teaching CS2, Algorithms, and Data Structures. Past courses include CS1, Theory of Computation, Systems Programming, my own Computer Science Education course, and Operating Systems.

Thanks for visiting. Feel free to email me at daniel "dot" zingaro "dt" gmail "dot" com.