Coding Challenges to Help You Train Your Brain
Programming is becoming an essential part of nearly every industry known to man, the way it helps to organize and maintain large systems is not possible to compare to anything else, and so more and more people begin their journey. You can learn to code both from interactive platforms and also from books – whichever you find most appropriate and easy to learn from.
But, sometimes that’s not good enough, and we want to practice new things. A great way to improve your skills when learning to code is by solving coding challenges. Solving different types of challenges and puzzles can help you become a better problem solver, learn the intricacies of a programming language, prepare for job interviews, learn new algorithms, and more.
Below is a list of some popular coding challenge websites with a short description of what each one offers.
You get to earn real money, and it’s supported by a community of nearly a million coders, so I’m pretty sure there is a lot of challenging stuff to encounter. I’m saying that because I believe that some beginner programming enthusiasts might find to be rather difficult.
It’s possible to participate in both daily, and weekly coding challenges; both are extremely difficult, and require great thinking skills to complete. It’s worth it though, as it all adds up to your resume at the end of the day.
Codeforces is a Russian-based competitive programming website that regularly hosts competitions where some of the best competitive programmers in the world compete online. If you’re a beginner coder, their challenges will most likely be too advanced for you — here are some examples of recent challenges. Their challenges usually require advanced math and algorithms knowledge.
LeetCode has a collection of some of the best algorithm challenges online today. The topics they cover require knowledge of data structures such as binary trees, heaps, linked lists, etc., which is why their challenges are a bit more advanced than some other websites — but the challenges are great if used when preparing for a software engineering interview.
HackerEarth provides a SaaS application to do automated assessment of technical and logical skills of candidates. It also helps companies to source smart talent by serving as a developer aggregation and selection platform. They’ve got frequent challenges being added, and you can signup weeks before; both to prepare and know beforehand when you’ve got to participate. Like TopCoder, this is a high quality website, and offers thoughtful challenges that will prove to be of use later in your career.
The latest feature of HackerEarth is a challenge series dubbed CodeMonk — with CodeMonk challenges you can immerse yourself in the world of code from all of its aspects, repeat challenges to really make the particular problem sets sink into your brain. The challenges will be focused on programming problems.
And if you’re feeling even more adventurous and have stepped beyond the boundaries of learning to complete challenges, perhaps you want to take advantage of HackerEarth’s Sprint service which offers you to create your very own hackathon.
Coderbyte provides 200+ coding challenges you can solve in an online editor using 10 different programming languages. It also provides official solutions for some of the challenges along with 800,000+ user solutions. Coderbyte is recommended by the top coding boot camps because of its collection of interview prep challenges.
Aside from coding challenges, they provide courses in Algorithms & Data Structures, Web Development, and prep courses for coding boot camps.
Project Euler is probably the most popular coding challenge website in the world and has been the home of some several hundred thousand users, since the initial launch, over a decade ago. You get one extra challenge added per week, but I’m quite sure it’s going to take some time before you tack the 450+ problems that there are to solve already.
They’ve been built to not be very hard, rather; involve critical thinking and problem solving, in order to help you grow and learn more about the language you’re using. It’s all about working your way up, making sure you thoroughly understand what you’re doing.
We are going to wrap this up with one of my personal favorites: Reddit’s Daily Programmer. It’s a wonderful discussion board to be a part of if you want to learn more about programming and problem-solving. I think as it stands right now, you get three unique problems to solve per week.
Not to mention, several hundred to work with already. Every submission you create in the comments is reviewed by the community members, so you get a mix of opinions and answers to your approach.
You get several pre-customized and pre-thought challenges that you can submit in many programming languages. They’re all sorted by their appropriate difficulty, and there is like 40-50 challenges to go through.
Each has a detailed explanation of what the end program should do, and as far as I could tell – you’re also given a time limit on each, so there is no slacking!
CodeChef is an Indian-based competitive programming website that provides hundreds of challenges. You are able to write code in their online editor and view a collection of challenges that are separated into different categories depending on your skill level. They have a large community of coders that contribute to the forums, write tutorials, and take part in CodeChef’s coding competitions.
GeeksforGeeks has the best collection of articles, explanations, and code solutions for algorithms and data structure topics. You can see an example here of how they break down a complex question into simpler parts, explain the solution and then provide a code solution. They also have an online editor where you can practice solving challenges yourself before seeing the solution.
If you are preparing for a software engineering interview, you should definitely use this website to prepare and brush up on the harder algorithm questions.
The thing I instantly liked about HackerRank was their section for challenges that are related to artificial intelligence, which is kind of cool and gives advanced programmers something to play around with. It’s backed by companies like Y Combinator, SVAngel and many more. Definitely, a nice bunch of hackers working on this.
Codewars has a pretty nice approach to coding challenges and takes their craft quite seriously, I was trying to find the right words to describe it, but here is a ten-minute introductory video of what Codewars has to offer.
CodeFights provides a collection of coding challenges for you to solve in their online editor and there is a forum for users to discuss the challenges. They also have a feature called Company Bots where you write code to compete against a “bot” that was programmed by engineers at companies like Uber, Dropbox, and Quora.