Ava Pun


I’m Ava Pun, a Computer Science and Combinatorics & Optimization student at the University of Waterloo. I’m interested in computer graphics research and the intersection between programming and digital art!

Recently, I’ve worked with Uber ATG to generate adversarial scenarios for self-driving cars by adding/removing objects from real LiDAR scenes. I’m also involved with programming contests, having won a silver medal at the International Olympiad in Informatics, and I currently coach the European Girls‘ Olympiad in Informatics Team Canada. In my free time, I draw my webcomic Academy 118 and manage the MathSoc Cartoons project.

Algorithmic Thinking Cover

I was recently asked to review the book Algorithmic Thinking: A Problem-Based Introduction by Daniel Zingaro! Algorithmic Thinking is a clear and engaging text that teaches algorithms in a unique way—“problem-based” says it all. By presenting problems first and their algorithm/data structure solutions later, it shows us exactly why those solutions are useful and how they fit into the big picture.

What I love most about the book is that it mirrors the actual problem-solving process. Far too many textbooks present solutions fully-formed with no mention of the dead ends and too-complicated solutions you’d hit along the way. But Algorithmic Thinking takes you from the initial idea to the final breakthrough, setbacks and all. Problem solving is a raw, real journey, and this book captures its spirit perfectly. I highly recommend it.

More information about the book can be found here.