An Introduction To The World Of Competitive Programming

Whether you are a newbie coder or someone who has been looking forward to trying their hand at competitive programming, you are in the right place to help you get started with your Competitive Programming journey!

 

Competitive coding is essentially a mind sport, where the contestants try to code out the solutions for a set of logical or mathematical problems. The contestants are judged mainly on the number of problems solved, the time taken to solve the problems and other parameters described in the problem statements.

 

Albeit, the concept might seem very intimidating for people who have just begun their coding journey and if you are a newbie coder you might wonder why should you even get started with competitive programming? Worry not! The opportunities that the world of Competitive Programming offers are limitless. But here are a few that will surely entice you to dive headfirst in this world. Competitive Programming will improve your logical and problem-solving abilities, which are at the core of everything under computer science. These skills will help you become a better coder overall. By virtue of being a Competitive coder, your knowledge of computer science fundamentals like Data Structures and Algorithms are going to be elevated. This will especially help you during interviews and placements since the companies look for people who are very well versed in these topics and are good problem solvers. You can even participate in international tournaments like the IOI and ICPC where you can represent and win medals for your country. You can also participate in Competitive coding competitions like Google Codejam, Facebook Hackercup, Codechef Snackdown where you can win awesome prizes and even a chance to interview and get recruited by these tech giants. Most importantly the satisfaction that you will get from solving a problem or learning something new from a problem you were not able to solve is the best feeling in the world. Competitive programming will help you boost your competitive spirit in a healthy way.

 

After all these perks, Competitive coding must surely have tickled your fancy. So here is how you can get started. Your entire journey towards becoming a competitive programmer can be broken down into five levels.

 

Level 0

If you are at this level it means that you are learning to write your first few lines of code ever. It might be a simple “Hello World” program or doing your first couple of coding exercises from Code.org or Codecademy or following a YouTube tutorial on how to make your first mobile app. You are not really worried about time, memory and space limits while solving problems since these simple exercises do not require code efficiency. These parameters of time, memory and space efficiency become extremely important later on in your competitive coding journey.

 

Level 1

Now it is time that you level up by focussing on a particular language of choice. It could be C++, JAVA or Python or any language of your choice. You should focus on learning the syntax and the peculiarities of a language. It will be a little difficult at first to translate your solution into code because you are still learning the basics of the language. But you will see a drastic improvement as soon as you become comfortable with the syntax and features of your chosen language. StackOverflow will become your best friend during this time as you try to debug your code and identify the errors.

 

Level 2

Once you are comfortable with your chosen language and are familiar with the constructs of the language you can easily translate your solution into code, you can move on to strengthening the problem-solving skills. Progressing beyond this level requires you to spend a fair amount of time getting to learn the problem-solving techniques as just knowing how to code would not suffice beyond this level.

 

Level 3

Now that you have made it to this level. You have to solve and study many programming problems to learn the common patterns in many typical Competitive programming problems.

Experienced Competitive coders usually can usually relate a current problem statement to a problem they might have solved earlier and not start from scratch each time. Once you can spot a familiar problem pattern type you can code up its solution much faster than the others.

At this stage, the primary focus should be to do well in contests.

 

Level 4

Now that you are a fairly experienced programmer. It is time to sharpen your skills by putting all you have learnt to test in a high-pressure environment of a live contest. You can practice coding at your own pace but the adrenaline of a live contest helps you figure out your weak areas and hone the programming skills that will make you a better programmer than when you started. Contests provide a coding experience that is very difficult to simulate on your own or with your friends. 

 

Now you can keep on improving and keep participating in more competitive programming contests and experience all the opportunities in the world of Competitive programming offers you!

 

Some of the websites to get started are Codeforces, Atcoder, Codechef, USACO. These websites regularly hold competitive programming contests for people of all levels and are the primary platforms where you can sharpen your skills.

 

For interview preparation, some of the common websites that function as resources are LeetCode, GeeksForGeeks, binarySearch, HackerRank and HackerEarth. These websites will help you become better problem solvers and help you ace your interviews.

 

ACM Manipal aims to advance the computing culture at Manipal and beyond.They hope to help reduce the lack of opportunity, increase information and provide the right motivation needed for MIT to have a thriving culture in the science of computing. And their event Codentine 3.0 is one of those initiatives.

 

This event was aimed at boosting coding culture amongst college students and preparing them for online tests pertaining to placements and internships! The event was held on January 12, 2022, from 8:30 PM to 11:00 PM. The event was held on HackerRank for a prize pool of 4000, 2500 and 1000 respectively for the top three contestants. In addition to that certificates of appreciation were given to the top 50 contestants.

 

Written by Shreeyanka Das for MTTN

Edited by Shirley Asangi for MTTN

Featured Image via techgig.com

 

Leave a Reply

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑