There are many people for whom programming is like a haunted dream. Programming is nothing but an art of talking with machines and telling them what to do, when to do, and why to do. Most of the students hear this word in high school. For many of them programming starts with ‘C’ and ends at ‘C’. There’s no problem in choosing any specific programming language but getting stuck at some well-known codes or the codes required only for the exam clarification is futile. The coming era is the age of technology. And here comes in picture the art called “competitive programming”. Competitive programming is an advanced form of programming which deals with real world problems. Here we see our code ruling the world. But writing such a code requires dexterity with passion.
We know that a code is basically our logic behind any problem in high level language. But logic alone is not sufficient in writing a perfect code. It requires deeper understanding of technical terms like complexity, syntax, and the art of creating big solutions through shortest codes possible. All this can be achieved only through practice. But if practice fuses with a good guidance, it explodes into a masterpiece. This goal can be achieved through the following simple steps:-
1. Get thorough understanding
First of all study all the concepts of the programming language deeply. Always use standard books. Today many online platforms are available where geeks from all around the world share their knowledge and try to make the concepts easier. One such platform is “geeksforgeeks” where you can find some of the most useful articles.
2. Follow a hierarchical approach
Try to start coding using simpler problems. Before directly writing the code, first make a flowchart of the logic being used. This will increase the number of correct codes which will not only sharpen your skills but also boost up your confidence.
3. Implementation in real life
Once you get used to with the codes and the basic programming try to make codes that solve your daily life problems. These may include report card of any student, ticket reservation system, library management system, etc. They will make you feel like a software developer.
4. Truncate the code
Now the next step is shortening the code. Suppose you make a simple code for library management system. Now try to abbreviate it such that the same task can be accomplished in a much simpler and shorter way. You can first just see the problem and make your own code. Now see the optimal solution to learn how it can be reduced. This is the most important and the transition phase from basic programming to competitive programming.
5. Be a fighter
Now start participating in coding competitions. The competitions may be in your school, online or at national level. Here you will find guys like you competing and beating each other. Here, you have to write the optimal solution and that too within the shortest time possible. Obviously, since it’s a competition so it’s survival of the fittest. Such a healthy competitive environment makes the learning rate faster and involves learn by fun mechanism. Apart from this you will also get a rating according your successful submissions of the code and the competitions you win which strengthens your professional profile.
6. Start spreading the “GYAN”
Once you become a code-keeda, don’t keep your knowledge to yourself. Spread it. Share it with your juniors, your peers and through the world. There is a popular proverb that says, “gyan baantne se badhta hai” – “Your knowledge increases more if you share it with others “
7. Be updated
“Success is not a destination you arrive at, it is a manner of living.” So, always be updated of the new technologies and the new amendments in the field of coding. It will help you produce better and serve better.
Thus following the above sapt-karma (seven steps) you can surely become a master in competitive programming and can serve the society in a much better and a much advanced way. And believe me guys when you see the power of these codes in real world applications, that is, when you see robots working on the commands you write, trains moving as per your codes, a nation’s defence mechanism being secured by your codes, it feels like heaven. So go ahead guys, be a programmer and contribute in making India a Digital India, and the whole world the Digital World.
This article is contributed by Vivek Agarwal. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
- Tips and Tricks for Competitive Programmers | Set 2 (Language to be used for Competitive Programming)
- Advanced master theorem for divide and conquer recurrences
- Top 10 Algorithms and Data Structures for Competitive Programming
- How to begin with Competitive Programming?
- Competitive Programming: Conquering a given problem
- Fast I/O for Competitive Programming
- A Better Way To Approach Competitive Programming
- getchar_unlocked() - faster input in C/C++ for Competitive Programming
- Bitwise Hacks for Competitive Programming
- Some important shortcuts in Competitive Programming
- Fast I/O in Java in Competitive Programming
- Frequency Measuring Techniques for Competitive Programming
- Graph implementation using STL for competitive programming | Set 1 (DFS of Unweighted and Undirected)
- Graph implementation using STL for competitive programming | Set 2 (Weighted graph)
- Writing C/C++ code efficiently in Competitive programming
- Input/Output from external file in C/C++, Java and Python for Competitive Programming
- Python Input Methods for Competitive Programming
- Prefix Sum Array - Implementation and Applications in Competitive Programming
- Input/Output from external file in C/C++, Java and Python for Competitive Programming | Set 2
- C++ tricks for competitive programming (for C++ 11)