About Me
I am a masters student in the Department of Combinatorics and Optimization at the University of Waterloo under the supervision of
Kanstantsin Pashkovich. Prior to this, I was a computing science undergrad at UAlberta, where I worked with
Zachary Friggstad on approximation algorithms.
Starting in September, I'll be a PhD student in the Department of Computer Science and Engineering at the University of Michigan, where I'll have the privilege of working with
Euiwoong Lee!
I'm primarily interested in approximation algorithms and (more recently) hardness of approximation. The problems I enjoy thinking about typically arise from combinatorial optimization, for example,
- graph coloring problems,
- routing problems (e.g., TSP, orienteering),
- price-setting problems (more broadly, algorithmic game theory), and
- matching problems.
Beyond approx, I'm generally a fan of anything that involves discovering structure about combinatorial objects, especially graphs and matroids.
Publications
Competitive Programming
Everyone in CS should try competitive programming. Actually applying and implementing the ideas you learn in your algorithms classes leads to a far greater understanding than you would get just from seeing the proofs they work.
I used to compete in contests, qualifying for the ICPC world finals twice. But lately I've been more involved in coaching and problemsetting. I currently coach the talented programming teams at UAlberta, and set problems for a wide array of local contests, most of which are
available on open kattis.