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.

Coding is a lot about creativity, your ability to come up with new and interesting ideas; but sometimes, due to a 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.

Initially, this was a list of five coding challenge websites, But due to a huge amount of popularity it received on multiple media outlets, the community has since suggested plenty more programming challenge websites that you can view and explore. Thank you!

1. Topcoder

topcoder

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.

2. HackerEarth

HackerEarth Programming challenges and Developer jobs

HackerEarth provides a SaaS application to do an automated assessment of the 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.

Read more about the Best Source Code Editor for WordPress

3. CodeMonk

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.

4. Coderbyte

Coderbyte Programming Game Challenges Competitions
Coderbyte is a Kickstarter funded project (although, it existed before the campaign itself), and is aimed at complete beginners and intermediate programmers alike.

It was launched in 2012, by Daniel Borowski, and has since grown into a self-maintained community of programmers who like to tackle programming problems in their spare time.

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.

5. Project Euler

About Project Euler.resized
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.

You can learn more about Project Euler on: Wikipedia, Reddit, Stack Overflow and Google Code.

6. Daily Programmer

For learning refreshing or just for fun
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.

Highly recommended.

7. Codility

Refactor yourself. Train your programming skills Codility
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!

8. SPOJ

Sphere Online Judge SPOJ
Sphere Online Judge (SPOJ) is a treasure-trove of thousands of coding challenges which will keep you busy for weeks. The challenges at SPOJ range from simple coding problems to hard algorithmic challenges that require some serious problem-solving skills, like finding the best heuristics for NP-hard problems. SPOJ lets you code in almost every programming language you can imagine and provides you with feedback on your solution, which may for some challenges contain additional hints.

There is also an amazing community (+300k users) behind SPOJ, with many active members willing to help out on the community forums. SPOJ allows users to add their own challenges, organize programming contests, and compete for the highest ranks. It is used by both novice and confirmed programmers. For many, it serves as a training platform before large programming contests. It has been created out of pure passion for programming by theoretical computer scientists and is quite laid-back, which you can easily tell from the motto of the site: “Where Hackers eat Crackers.”

9. CodeChef

CodeChef
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.

10. CodeEval

CodeEval
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.

11. HackerRank

Programming problems and Competitions HackerRank
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.

12. Codewars

Codewars
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.

13. Rosalind

Rosalind coding challenges
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.

14. FightCode

FightCode coding challenges
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.

15. Codeforces

Codeforces coding challenges
In the initial revision of this post back in 2014, this particular website was somehow left out, but thanks to the nice community members in comments, we’ve now got an additional, and great, programming challenge site to add to our list. Codeforces is all about daily/weekly challenges. You can host your own groups, attend code gym, and see who the top coders on the site are, there are also frequent coding cups hosted that can help you to get noticed by the right people.

16. Exercism

exercism.io coding challenges
This was also suggested by someone in the comments, it’s a coding challenge platform built by Katrina Owen. The Exercism platform is all about crowdsourced problem solving. By becoming a member, not only do you get to improve your thinking/computing/coding skills, you also get to interact with other people who can share insightful answers and resolutions to your coding problems. A really nice approach indeed.

17. Kaggle

Kaggle The Home of Data Science
It seems that Kaggle is built more for the professional/competitive minded people, since the competitions page seems to clearly indicate that Kaggle is all about paid competitions, but even then — if you’re serious about coding and problem solving, there are some serious paychecks to be earned, of that there is no doubt. You can also find jobs board available, as well as programming tutorials to keep you fresh and focused.

18. CodinGame

Games for programmers CodinGame

At CodinGame, we believe that everyone should be able to discover the pleasure of coding. We are programmers at heart, and we know that code is a powerful tool to innovate and create. It’s a matter of passion, but above all, it’s fun. So we’ve imagined a platform which merges programming and video games. Our goal is to help developers from around the world, whatever their qualifications or professional experience, to learn, improve their coding skills and find their dream job, while playing.

The above quote was taken from their official About page, in short it kind of is exactly what the about says, it’s a coding game that is focused on the gaming aspects of entertainment, and since all of us have our brains wired in different ways, some people might find this particular site more appealing.

19. Leetcode

This online coding challenge platform gives you a list of 190+ challenges that can in turn help you prepare for technical job interviews. LeetCode allows you to solve the challenges directly, in 9 programming languages. You get statistics for your solutions which compares your code to other users’ code.

Since their challenges aim on helping you with technical job interviews, they even have a section for mock interviews. They even have a section dedicated to articles on certain topics that help you understand better.

20. International Collegiate Programming Contest (ICPC)

One of the most recognized & renowned online programming competitions. During the time it was held under the authority of ACM, it became ACM-ICPC. This competition is for teams which must have three students representing their university. Their levels of competition are divided into Local Contests, Regional Contests, Regional Championships, and the World Finals.

Regional wars begin by competing amongst classmates. The final regional contest determines which teams will be moving forward to the World Finals.

While competing the teams get 5 hours to solve around 10+ programming problems. The solutions must be in Kotlin, C, C++, Java, Python programming language. They provide around 400 on-site competitions.

21. GeeksforGeeks

GeeksforGeeks holds a 3-day coding contest online annually (mostly online). The competitors can solve different coding problems. They even get a chance to compete with programmers online. Languages used to solve the problem statement are C++, Java, or Python. 

This platform offers a prize amount worth more than 6 Lakh Rupees consisting of cash prizes, accessories, courses & more. This is only valid for Geeks Coding Challenge.

Apart from that, the website allows you to learn and compete in their challenges posted online. The challenges have the difficulty level written at the side of it, so you can decide what suits you best.

22. Programmr

An interactive platform is available online to help programmers learn & practice coding. They help you learn at your own pace. Programmr provides challenges in languages like PHP, Java, C++, C#, Ruby, Python & C. It is said to have the best coding simulators which allow you to run all kinds of programs. This website has projects, contests, challenges.

23. URI Online Judge

The comp-science department of URI University established the URI Online Judge. They aim to share information & programming practice. The webpage consists of more than 1000 problems which are further divided into eight big categories. All of it can be solved with 11 programming languages. URI Online Judge has a dedicated section for contests aka challenges. This platform has problems that are well-structured and accordingly divided into various categories.

24. Reply Challenges

This is a really fun platform to work on. Reply Challenges consist of a variety of challenges designed by “Replyers.” These contests are open for everyone interested in online competitions. Their main aim is to showcase talent in coding, cybersecurity, creativity, and investments. You can even win prizes in some of their competitions. It is open for all whether they are students or professionals.

25. Edabit

Edabit offers you to work on Java, JavaScript, PHP, Python, Ruby, Swift, C++, C#. As you click on the challenges section, you get to choose the language in a drop-down feature. You even get to choose the level of difficulty you are comfortable to work with. They have a unique shuffle feature that allots you a random question based on the difficulty level, subject, and language. This online platform provides a beginner’s tutorial on JS and consists of 10000+ coding challenges.

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!

UPDATE: 4/20/2014

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.

UPDATE: 5/26/2015

It looks as if it has been over a year since our last update for this programming challenge roundup, since then a few of the websites have decided to change their course of action (one removed), and some have gone for beautiful improvements (five design changes), but we’ve also got some newcomers added to the list, which have been influenced both by the local community in comments, and also the bigger community around the hacker web. We’re still on the lookout for more of these types of coding challenge websites/platforms, so if you know of any, please leave us a comment so we can add them to the list!