“I think everybody in this country should learn how to program a computer, should learn a computer language, because it teaches you how to think.” – Steve Jobs
If you are a programmer, you may understand the deep meaning of these words quoted by Steve Jobs, and you may also have this experience even if you turn off the computer, you continue to think about the programming or code you use in it. The project has been written. In programming, you just don’t learn programming, you also learn the “art of thinking“, the method is to break the code into smaller parts, and then use creative, logic-based thinking to solve problems from different angles. Programming is very interesting and it is like brain training. Programming is an intellectual sport. When this sport is practiced by sports programmers on the Internet, it is called competitive programming.
Coding contests or competitions usually require the host to have a series of logical or mathematical questions for the contestants, also called puzzles (ranging from ten to one thousand) problems. Scoring is mainly based on the count of problems solved and the time required to write a successful solution, but other factors (quality of results obtained, execution time, program size, etc.) also do count.
The goal of competitive programming is to write source code for computer programs that can solve specific problems. Most of the problems encountered in the programming Olympics are essentially mathematical or logical problems. Typical problems fall into one of the following categories: combinatorics, number theory, graph theory, algorithm game theory, computational geometry, string analysis, and data structure. Challenges related to deadlines and artificial intelligence are also popular in certain competitions.
These coding contests provides young and talented coders with the opportunity to measure their skills and compare them with other programmers around the world. Some of them are listed as-
1) The ACM-ICPC International Collegiate Programming Contest
2) Google’s Coding Competitions
3) The ICFP Programming Contest
4) BME International 24-hours Programming Contest
5) Microsoft Imagine Cup
6) Facebook Hacker Cup