Matei Zaharia / Programming Contests

Programming Contests

I started doing programming contests in high school, in grade eleven. That year, I wrote the Canadian Computing Competition and, to my surprise, was selected to the Canadian team for the International Olympiad in Informatics. I'd mostly been learning programming informally on my own until then, so that summer I read a lot about algorithms from the books provided to the team, and learned some actual computer science ;). I ended up getting a silver medal at the IOI that year and next (2002 and 2003). I continued doing contests in college with the 2005 ACM Programming Contest, where my team at the University of Waterloo placed 4th in the world and 1st in North America in 2005. I also did some individual contests in college, the most successful of which was the 2005 Google Code Jam where I was 15th. Unfortunately, but also thankfully, the ACM doesn't let students compete in more than two finals, so I stopped doing contests soon after 2005 and moved on to other things. I've written this page to point other interested people to good resources for getting into programming contests and getting something out of them.

Resources

Here are a few resources I found useful, roughly in the order in which I looked at them:

Tips

Here are a few things I found surprising but very useful: