The adrenaline is rising. Your hands are sweating at the moment. You are in a competition — the time is of the essence and you will be judged on it. Several programmes will be thrown at you — you need to work through them — correctly and FAST. All that you have in your arsenal is your programming knowledge, active brain work, and of course, speed. But combining the three does not always work in your favour. Coding competition can be scary — it’s stressful. But like all competitions and ‘exams’ — if you are confident, you can have the world in your palms. It’s time to get equip with the skills that are required in any coding competition.
Here are some of the things to keep in your mind before going for a coding competition:
1. Choose Your Language
Which language are you most comfortable in? When you are entering a Competitive programming battle, you have to select the proper language which will be accepted. For example, C++ will be accepted by most competitions and is one of the fastest languages out there. In today’s world most of the languages are equal but C++, Java and Python are most popular.
2. Find Your Style
You may have a specific coding style. You might add more spaces, or you might add braces in the if statement. Your unique coding style defines your coding. Do not deviate from your coding style unless it’s absolutely necessary. Master your style. While developing your coding style remember to keep it — 1) Easy and fast to implement. 2) Easy to Read, which naturally means it would be easy to debug too.
3. Get the basics right
The basics are the foundation of your work. So, even if you are a seasoned programmer, just brush over the basics again. This will strengthen your work and make your coding style more capable. It will also help you fall back on something if there is any problem during the programming session. So, never ever underestimate the basics.
4. Master Data Structures and Algorithms
This is the hard part. You have to go through complex data structures and algorithms and they are so many. How will you start off? The best thing to do here is to follow a hierarchical system. Start with the fundamental algorithms and then, start going deeper. However, don’t go through algorithms just a day before the exam. Let you mind rest.
5. Practice Makes Perfect
Practising is important. Start to work hard, give in all your efforts for the competition. Don’t overwork the previous day but work hard enough in the days before. Give your best in developing your programming voice. You can use Sphere Online Judge (SPOJ) to practice. Boost your implementation skills.
6. Splitting Up The Problem
Generally, when you are in a competition, you will be given problems with huge descriptions. Start by splitting them up. Keep your pen and paper in hand and remove any kind of digression present so that you get a compact ‘necessary’ descriptions which you can use. It will save time and make you more efficient.
7. Finally, Don’t Take The Fun Out of It
Competitive battles are fun too — you are testing your limits. Don’t overstress and take out the fun from it. Programming is creative and fun too. Try to look at it in a positive light. Be confident, have the aim to socialize with other competitors and learn more about their skills. Take the entire competition on a light note. It will help you with your nerves.
- Don’t use Ideone.com as it makes your code public and it will fall under plagiarism.
- Don’t discuss the problem when the competition is running online or offline. Don’t ask about the problem from Quora or Stack Overflow during the competition as it will be considered cheating.
Best of luck with your competition. Remember, winning is not everything. Sometimes, you just have to learn things again. Make the competitive battle a learning one.
Always keep in mind that:
With all said and done, you can, at any time, visit us at Coding Ninjas and get your doubts clarified. Our expert teachers have mastered the art of competitive programming, and can help you with the same!