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 coding 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.
Coding is a lot about creativity, your ability to come up with new and interesting ideas; but sometimes, due to the large amount of time spent tackling common problems, we forget about creativity. I’m not quite sure whether that is the reason coding challenges were made, but they certainly help with the part where you need to think of your own stuff to program.
We could say that coding challenges are great for:
- learning new ways of doing things
- practicing a new programming language
- encountering critical problem solving
- keeping our brain sharp and focused
- having fun!
in my quest to find the best programming challenges, I narrowed the list down to five great resources, which I believe will help you immensely alongside your journey, or serve a great purpose for learning and exploring more areas of computer science.
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 [topcoder] 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.
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.
Coderbyte is a Kickstarter funded project (although, it existed before the campaign itself), and is aimed at complete beginners and intermediate programmers alike.
You can also ask questions if there is something you don’t understand, and the community is fairly active; so it is more than likely that you’ll get an answer. Plenty of people love Coderbyte, and I’ve seen only positive reviews for it.
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.
I think there’s even an Android application for it, see it for yourself.
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 on 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!
Sphere Online Judge is a community that consists of many thousands of coding challenges that you can tackle all day long. It supports the input of almost every programming language you can imagine, and there is a great community behind it that is consistently available for help on the community forums.
CodeChef was created by Directi as a way to challenge and engage the developer community and provide a platform for practice, competition and improvement. It’s powered by a large set of problems to work with, and you can also gain access to the source codes that others used to solve the given coding challenges.
It’s split in several difficulty categories, and the website itself has a reasonable size community. Looks like a really great challenge site.
You can join CodeEval as a developer who wants to show his programming skills to employers and other developers. You get to participate and join competitions for several different areas, but mostly for building a product / app – and in return get money prizes. Also, you get access to programming challenges, which can be solved and added to your resume to further make a good first impression to your potential employers.
It’s focused on helping developers to advertise themselves as experienced within their field of work, and seems to be doing that job great.
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.
Talentbuddy is a friendly place where you can exercise your problem solving skills in an enjoyable interview oriented way. I think you might find social aspect of the site a little bit annoying, but overall it has got some really great lessons to learn from, there is even some MongoDB stuff in there to practice – always nice to see advanced challenges!
Codewars has a pretty nice approach to coding challenges and take 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.
I think you’ll like it, as many developers in the community already do.
It’s a little bit more specific approach, but nonetheless a great way to tackle and learn about programming problems. Rosalind offers some challenges towards bioinformatics, which you can solve at your own pace.
You get to program your own robots, and then use them to fight against other community members. It’s the code-and-play type of platform, but still useful for those who’re new to such approach, or perhaps just want to have some fun. Try the docs to get a better sense of it.
Coding Challenges to Help You Train Your Brain
I guess the title of this post is a little bit cheesy, but what else are we going to train; if not the brain? It all comes to us from there, so we might as well. I think it’s a pretty solid list, considering that…
by putting all of these together, you get several thousand of unique programming challenges to work with, I doubt you’ll ever complete even 1% of these, but it’s worth trying!
What has helped you to challenge yourself, and which one of these are among your own favorites? You probably use some others among the ones in this list, share them with the members of community in the comment section!
Happy 420! This update adds to the list an extra nine coding challenges for you to tackle. I’m humbled by all the community support and suggestions that this post was able to receive, and you should now, definitely be on your way to greatness.