Start participating in Competitive Programming


Are you confident in your coding skills? Do you want to be able to solve complex problems in limited time and under constant pressure? Have you ever heard of Chinese Remainder Theorem, Aho-Corasick or other nerdy-cool things? Can you crack technical interviews without much preparations at any time? Anyway, there are many reasons to participate in competitive programming. If you've ever wanted to start, this post may be useful to you.

IOI (International Olympiad in Informatics) is probably the most prestigious competition for school students, and ACM ICPC (International Collegiate Programming Contest) - for university students. There are also contests like Google Code Jam, Facebook Hacker Cup and others, that accept even 'adult' programmers. All of them have their own rules and specifics, but the general preparation template is almost the same everywhere. You need to know the basics of a programming language, learn some solving techniques, algorithms and data structures, oh and gain some experience in online judges and problem archives.

And here's a list of some helpful resources you may find useful.



Links