What is Competitive Programming and which Programming Language you must choose?

Competitive Programming is something that barely someone know about. Unless and until someone tells about coding or we see someone doing competitive coding we won;t get to know about that. Even I myself didn’t know anything about coding until I came across “python programming language” in my B-Tech 1st year. And I was shocked knowing that more that 75% of my class know how to code. As I studied under SSC(Secondary School Certificate) there was nothing like computer subject. And this was because:

  1. Because they choose computer in their CBSE 11th and 12th.
  2. And most of the students from north India knew coding because they had in CBSE . And in CBSE they have an option of learning Computer or Physical Education.

The 2nd point was important for CBSE(The Central Board of Secondary Education) students.So most of them in my class knew Programming.

From where to Start for Competitive Programming :

  1. Which Programming Language to choose:
  • First of all you should know one programming language. There are programming languages like Python, Ruby, Pearl, Java, C, C++, C#, and many more. But for competitive programming its not necessary to learn all these programming languages. Most of them mianly use“Python”, “JAVA” , “C++”.
  • In the above mentioned programming languages for competitive programming C++ is used the most all over the globe, and next Java and last but not the least Python. This is known that C++ runs faster than Java and Java faster than Python. But for competitive programming either C++ or Java is used.
  • I recommend that to learn C++ first. And for competitive programming C++ is must as it takes very less time to execute the program and also less takes less memory compared to other languages. But if you learn Java instaed of C++, then also there is no issue. Because in the future most of the product based companies use Java programming mostly.

2.Next step is Learn basics of Data Structures and Algorithm :

  • After you are done with C++ or Java. Now you must know the basic of Data Structures and Algorithm. This is one of the most important topic in Computer Engineering. Because this manages us with Time Complexity and Auxiliary Space while coding.
  • And there are many more topics like Linked List, Hashing Techniques, DFS, Trees, Dynamic Programming, etc, which is like the most most efficient way to solve a particular problem in less time. But you must really practice a lot of problems to know all these concepts properly.
  • During Placement Interviews also Data Structures and Algorithm is most improtant topic.
  • To start Data Structure then you can learn it from GeeksforGeeks.
Online Coding Platforms

3.Participate in Online Coding Contests:

  • After you will be good at data structures basics then you can try practicing coding questions from the online platform like HackerRank, HackerEarth, Codechef,etc,. There are some really practice questions in these platforms.
  • Then there will be live contests going on online in coding platforms like Codeforces, Codechef, Topcoder , etc,. where you can show your data structure, programming skills . Participating in these contests will let you know at what level you are compared to others around the globe

Note:

  • Solving hard problems in online contest or during practice will boost participants Rational and Analytical thinking.
  • Here during Competitive Programming Practice, Patience and Consistency is very important. This point I also said in my previous Story.

Thank You for viewing my content.

All the Best.

Jonathan Bluks

Amateur Writer