Definition
Let’s define what Competitive Programming actually is. A definition from Wikipedia is,
Competitive programming is a mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications. … A programming competition generally involves the host presenting a set of logical or mathematical problems to the contestants … [who] are required to write computer programs capable of solving each problem. Judging is based mostly upon number of problems solved and time spent for writing successful solutions, but may also include other factors.
A definition from a Competitive programmer on Quora is,
Competitive programming is solving well-defined problems by writing computer programs under specified limits.
My Definition:
Competitive Programming is sport.
Literally, CP is a sport, like any other sport. Let’s consider cricket for a while. You walk into bat for the first time. Bowler swings and you miss. You practice by keeping this “swing” in your mind and next time you’ll do much better. By practicing and doing it a couple of times, you’ll hit one over the ropes.
Now, consider programming contest as a game of cricket. Compile the code and submit. You may get a Wrong answer for the first time. Understand and make changes to the code and eventually, you will get your right/correct answer.
In a programming contest, you convert plain English sentences into a code of your favorite programming language. Walk right into it, you will learn unwritten rules of the game as you play harder and get better. For getting started, you don’t need to know any complex algorithms or data structures. You just need to know a programming language and start competing. As you practice, you fail, and you succeed and you will learn how to solve complex problems and how to write fast and efficient code.
Why it is important?
I first started competitive programming during my graduation but I didn’t do it regularly. I wish I had started it sooner and practiced on a regular basis. Now, I’m enjoying competitive programming and practicing solving problems regularly. I have learned a lot from competitive programming. It helps to build logic and increased problem-solving skills.