Competitive Programming
What is competitive programming..???
In Competitive programming you are given a well defined problem statement related to a real world scenario for which you have to write a program as fast as possible,configured for a specific runtime and memory limit. Also, you must write the programs in a specified set of allowed programming languages.
These events are usually held over the Internet or a local network. The contestants of the events are known as competitive programmers.
Why competitive programming..??
The primary purpose of competitive programming is to make you think, perhaps to make you think out of the box. The best ones, however, make you come to a point when you stop thinking. Two opposing forces, your curiosity for the answer and your desire to give up, are in perfect balance. Your brain needs a real workout through which you can challenge your brain and push yourself further.CP is a great sport to sharpen your problem solving skills at the expense of wasting time on social networking sites. With some discipline and time management, you can grow up as an engineer with solid foundation in both.
A strong command in competitive programming will help you land in top product based companies like google, Microsoft, amazon etc
Choice of programming language:
To instruct a computer for programming, we should have knowledge of its language. There are various Programming languages which you can learn like:
1.C++ : most popular and recommendable programming language. C++ template includes data structures like Lists, Tree, Stacks, Graphs, Arrays etc. It follows OOPS (Object Oriented Programming) which help you to solve real time coding challenges.
2.C: POP (Procedural Oriented Programming), divides programs into small functions. Used by software programmers to create by using an editor to accomplish a program.
3.Java: It is the most recommended language. One of the preferred languages for competitive programming and easy one.
4.Python: It is most easy and has very simple syntax to implement. Language has wide usage in domains like Machine Learning, Artificial Intelligence and Data Science etc.
Having a good command on at least one of the above mentioned coding language would surely suffice.
How to start with competitive programming..???
Practice is a vital step which can’t be ignored. Once you understand the techniques, concepts of DSA and its implementation to solve problems, you have to practice it ample times to become expert in it. There are many online platforms like Codechef, Codeforces, Hackerrank, leetcode and many more. Having a good rating on any of these Platforms will surely help you to prepare a good resume.
Hackerrank: I will suggest you to go for this website. The difficulty of problems increases as per your level. For Beginners, this website is best.
Learn one programming language really well - preferably C++. Make sure you're super comfortable with all the constructs and can code up any algorithm given the pseudo code.
try really hard not to look up the solution. Once you look up the solution, the struggle of figuring out the problem is gone. It’s in the struggle where you usually learn. If you can’t solve it right now, think about it for half an hour and then come back to it tomorrow. Solve an easier problem.
practice daily, Your skills will fade if you take a hiatus from practicing for more than a few days.
Once you're confident you should definitely go for ACM ICPC and other competitive programming competitions - they are really a good addition to your resume.
Comments
Post a Comment