How to learn competitive programming - Guide

How to learn competitive programming: If you are a programmer or a level-up coder. then you should familiar with the word called competitive programming. and if you want to become a competitive programmer and don't know how to learn competitive programming. then you are in right place.
How to learn competitive programming


I am also a competitive programmer and I started my journey to become a competitive programmer in middle or 2017. and I think I have that much of knowledge so I can give you the way that how you can start with competitive programming.

So this is my way which I prefer that you should follow to learn competitive programming. I divided my words so you can easily follow the things which I recommended. and you should follow these steps if you want to become competitive programming.


Steps to become a competitive programmer.

  • Pick up a programming language
  • Learn data structures
  • Learn Algorithms
  • Hands-on practice
  • Follow cycle

Before we started if you don't know what is really competitive programming. then you should read my last post where I define the whole terminology of competitive programming. this will give you the proper idea that what is competitive programming and you really need to learn competitive programming or not.

So let's start with our main topic...


Programming language for competitive programming.

if you really want to learn competitive programming then you should have proper knowledge of at least one programming knowledge. I think everyone has their own favorite programming language.

let me take an example. am a person who always loves to code in python programming. and one thing is that you can start learning competitive programming with any programming language. even with javascript or php. which is the scripting language?

and after picking a language in which you are comfortable to code. then start learning this language from basic to advance.

let's say if I started with python then I first learned basic things that what is python and in which areas the python used. how many versions are available currently in the market. and what libraries used in python and what is the use of all these libraries.

after that, I started learning coding in the python. I start with the basics like first, I learned about loops, statements, variables, operators, lists, dictionaries, and other things as well. at the same time, I also practice for code with my own hands.

and then I jumped to the advanced topics in python like how to use files and graphics using libraries and how to use other external tools like Github, and how to work with other programming languages like working with an XML file with python and soon...

it took me 1 month to learn the whole python programming language. and trust me a programming language never ends. so every day I learn new things in python.


Data Structures for competitive programming

After picking a programming language. you should need to learn data structure in the same language. let's say that if I choose python and after a sufficient knowledge of python. I started learning data structures in python.

one thing I want to clear is that here I only mean with data structures, not with algorithms.
in data structures, I learned about lists, stack, queue, heap, tree, and graph. and implement these things using the python programming language. 

using data structure I got the initial knowledge about what is stack, queue, heap, tree, and graph. and this process took me the extra half month to complete it. then I jumped over the algorithms.


Algorithms for competitive programming

After learning the general introduction about the data structure and learn about how to implement these things in one of my favorite programming language which is python. and then I started with the algorithm. 

in algorithm I started learning how to perform the operations on the data structures like how to insert, deleted, sort, merge link lists, queue, heap, tree, and graph. and implement these operations using python programming.

so after learning algorithms, I started using the data structures and algorithm techniques in my code.
so that results in me that how to handle complexity in the program. and how to make a solution to a bigger problem with the minimum line of code. and trust me this gives me a lot of confident that how to handle coding problems and solve them in a minute. and this is the real competitive programming.

because competitive programming means that how we can minimize the resources that are used by our code with our experience. like if a program takes 100 bytes of memory and 10 seconds of time to run then using the competitive programming we can minimize the memory size and time-space used by the program.


Practice on programming skill


after learning data structures and algorithms in a particular programming language and have a sufficient knowledge that how to use these techniques in our code. you need a very special and important thing which is practice-practice-practice...

because practice makes perfect.

so there is the number of websites where you can make your account and start practice in your particular topic. like if you are not good enough in data structures then you can go to the hacker rank website and start solving problems on data structures.


Follow cycle

this is one of the most important things. and nobody can tell you about this. if you really want to be good at competitive programming then you should follow the whole cycle. because when I finished up with my practice. I realize that there are some topics in which I was not good.

and also there are numerous topics in python which I was not touched at a single time. so I follow back the process and start learning the things which I was left previously.

and trust me I follow back the whole cycle so many times. and this makes me good and better every day in competitive programming. so this is my way which I follow to learn competitive programming. you can also join me and start learning today...

if you do then comment me with yes or no then never mind. good luck with your journey. 

Post a Comment

0 Comments