Remember the day of your childhood memories when first time your parents and friends handover some jigsaw puzzles games to you and you accepted the challenge to solve it (We know we just have brought a smile on your face…). It was interesting and fun for you solving your first puzzle and then the next one, then the next one and so on…
Throwback yourself again in those memories when you start taking interest in some more challenging games…maybe it was tic-tac-toe, it was Sudoku, it was Chess, it was Minesweeper (You might have played this in your old desktop), it was the Rubik’s cube, it was playing cards or some mobile games (you are still smiling…).
Is it enough remembering those sweet memories and games…??? Not now yeah…??
Okay…one more time let us remind you other interesting games….maybe Counter-Strike, or maybe NFS Most Wanted, or maybe Mini Militia or Clash of Clans. We know that feeling was amazing when you won the games and felt like being a champion or king of those games and competitions.
But why we are reminding these games to you??. The answer is if your brain and your heart still say to take part in such kind of more challenging games then let’s go on this journey and talk about competitive programming.
Competitive Programming which is a mental sport held over the internet. You can participate and solve the coding challenges but in this game, your competitors are not your small friend circle like in those childhood games. Your competitors are sitting all over the world. Sounds interesting or scaring??. Whatever it is but trust me taking part in it, winning the contests and feeling like a king of competitive programming will be an amazing experience for you. Not just for fun but also it will be helpful in landing up a job in top tech product-based companies (Google, Microsoft, Amazon, Uber, Snapdeal, Goldman Sachs, etc.) on higher packages.
Getting Started With Competitive Programming
How did you learn to play jigsaw puzzle, sudoku, tic-tac-toe, counter strike or other games?. You might have taken help from some people to know game rules, you might have also practiced those games to become a master in all of that. It might have been challenging for you initially but later all these games become easier when you practiced enough and played continuously. The same thing happens in CP as well. We are going to give you a short description that you should follow to start with competitive programming.
1. Choose a Programming Language: You should have the knowledge of at least one programming language to step into CP. That programming language will be a tool for you or you can say al language for you to build your thought process and convert that into coding for a given problem. It can be anything C, C++, Java, Python or any programming language you are comfortable with.
2. Understand the Concept of Time and Space Complexity: You need to find the best solution i.e optimal one learning these two concepts. So dig yourself into these two topics to know how much time and space an algorithm takes to solve a problem.
3. Learn the Fundamentals of Data Structures and Algorithms: DSA is the major part of programming. You need to find out the best algorithm i.e approach and best data structure suitable for your problems. Array, Linked List, Stack, Searching, Sorting all these are part of DSA so learn these two most important fundamentals to start CP. GeeksforGeeks also provide different courses to boost your DSA Preparation at a very low cost. You can check the course details from the Courses portal.
4. Take the Challenge and Solve Coding Problems: You need to take part in coding challenges on different coding platforms. GeeksforGeeks, CodeChef, HackerRank and alot of platforms are there. Once you practiced some questions start participating in the coding contests.
5. Practice and Do it Regularly: Yes…do it regularly to be proficient in it. Your consistency is very important to solve the challenges in CP. It would be difficult initially and you might be frozen out seeing some questions, so start from the basics and gradually increase the level but stick on it and participate in different coding competitions.
To find more details on competitive programming you can check the article What is Competitive Programming and How to Prepare for It?
But I need a face to face guidance from a programming Expert or someone who already has won the contest or crack the interviews.
We know that initially when someone is introducing a new game to us we need guidance or mentorship during the initial stage and maybe later on as well. Same for the CP, where we know that it’s not going to be easy to compete with programmers all over the world. So what’s the solution? Who can guide you properly face to face to start with CP? How would you ask your doubts? We have the solution for it and you can get guidance or mentorship from someone who already has solved a lot of coding challenges, highly ranked at competitive sites and crack the interviews of top companies.
GeeksforGeeks has a surprise for you this time and we have come up with Competitive Programming – Live Course that will help you to participate in this mental sport and solve the coding challenges. The best thing about this course is you don’t need to go anywhere and you can attend the classes sitting at your home from any geographical location. This class will be an online interactive session where you will be mentored & guided by programming experts who are highly ranked at competitive sites across the globe.
Key Features of the Course
- One of the best things about this course is that you can attend it from any geographical location. It will be an interactive live session so you don’t need to worry about rushing somewhere and attend the classes.
- You will learn and get guidance by Raja Vikramaditya who is 6 Star at Codechef & 1871 at Codeforces | 3 times ACM-ICPC Qualified and Shashi Bhushan Kumar, Tech Lead & Mentor at GeeksforGeeks, Ex-Adobe and Ex-Paytm.
- Doubt Solving Team (TA’s)
- Internship Opportunities at GeeksforGeeks
- Course Completion Certificate
- Free access to DSA online course worth Rs 5999 that will include Premium Lecture videos, Specialized topic-based content, Weekly Assessment Tests & Practice Tracks, 7 Days Active doubt solving portal and many more things.
- Course Content, video & practice tracks will be active for at least 6 months post the course completion
The original price of this course is INR 18,999 but during the offer, it is available at INR 11,999. Stop… Stop… The offer doesn’t end here as you can Extra INR 1000 Off by using the coupon EARLYBIRD. You can get the full details about this course and register yourself for it by clicking on the button below. So immediately grab the opportunity to become a master in this skill.
- Best Way To Start Learning Python - A Complete Roadmap
- Tips and Tricks for Competitive Programmers | Set 2 (Language to be used for Competitive Programming)
- A Better Way To Approach Competitive Programming
- What Are The Best Resources For Competitive Programming?
- 5 Best Languages for Competitive Programming
- 5 Best Books for Competitive Programming
- Learn with GeeksforGeeks Course - Best Courses To Land Job In Your Dream Company
- Live Classes for Data Structures and Algorithms: Interview Preparation Focused Course
- Don't Let Your Geographical Location Be A Barrier In Your Success - Live Classes By GeeksforGeeks
- Get Ahead of Your Peers With GeeksforGeeks's Live Courses
- Why is python best suited for Competitive Coding?
- Best Way to Learn NodeJS - A Complete Roadmap
- How to read content of GeeksforGeeks in an organized way?
- Top 10 Algorithms and Data Structures for Competitive Programming
- How to begin with Competitive Programming?
- How to become a master in competitive programming?
- Competitive Programming: Conquering a given problem
- Fast I/O for Competitive Programming
- getchar_unlocked() - faster input in C/C++ for Competitive Programming
- Bitwise Hacks for Competitive Programming
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.