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!
Currently, I’m working with Prof. Christopher Batty to develop novel fluid-simulation techniques. I’ve also worked with Uber ATG to generate adversarial scenarios for self-driving cars. In my free time, I do programming contests and draw my webcomic Academy 118.
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.