Learning on SoloLearn is completely free. Our apps are available on Android, iOS, and Web.
The app syncs your progress as long as you use the same account.
You earn XP by participating in activities and improving your coding skills. These activities include completing a lesson/course, playing challenges, unlocking badges, and so on.
Challenge yourself on kata, created by the community to strengthen different skills. Master your current language of choice, or expand your understanding of a new one.
Solve the kata with your coding style right in the browser and use test cases (TDD) to check it as you progress. Retrain with new, creative, and optimized approaches.
Kata are ranked to approximate difficulty. As you complete higher ranked kata, you progress through the ranks so we can match you with relevant challenges.
Compare your solution with others after each kata for greater understanding. Discuss the kata, best practices, and innovative techniques with the community.
HackerRank is a technology hiring platform that is the standard for assessing developer skills for over 2,000+ companies around the world. By enabling tech recruiters and hiring managers to objectively evaluate talent at every stage of the recruiting process, HackerRank helps companies hire skilled developers and innovate faster.
Over 1600 questions for you to practice. Come and join one of the largest tech communities with hundreds of thousands of active users and participate in our contests to challenge yourself and earn rewards.
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
Everyone knows the fastest way to learn a spoken language is by having conversations with native speakers. Likewise, the fastest way to learn to code is by actually coding. Edabit offers an almost limitless supply of bite-sized challenges, so you can rapidly advance your abilities. It's the absolute fastest way to learn.
Do you feel like you’re stuck between learning material that’s too easy and material that’s too hard? Once the basics are learned, you realise everything is made for either total beginner or an advanced coder. Edabit bridges this gap. You start on easy and progress at your own pace until you're able to master the toughest challenges.
CodingBat is a free site of live Java and Python coding problems to build coding skill. Each problem has a problem description and a table showing some sample output for that problem. Type your Java code into the large text area and click the "Go" button to save your code, compile and run. Each time you click Go, the results are shown in the right side of the page. On each problem page, the "prev" and "next" links lead through the sequence of problems in that section. The "chance" link goes to a random unfinished problem in the section.
How Exercism works
Learning through Exercism is quite different to other programming websites, with a focus on individual practice and mentor-based learning. Here's how it works.
Object oriented, functional, popular, emerging, or just plain obscure. With 50 different languages to explore, Exercism has something for you!
All the coding happens on your machine in an environment you're familiar with. Download the template, solve the problem, and then upload your solution.
Discussing code is one of the best ways to learn. Our friendly mentors will comment on your solutions online, introducing you to new ideas and techniques.
Our tracks have between 40 and 100 exercise each - some are fun, some are tricky, some are weird, but all will teach you something new.
At the end of your language track you will have mastered the core concepts and idioms of your language and be ready to use it in the real world.
This is super advanced. I shouldn't have even included it in this list. Stay away from this. Seriously, if you start looking around you will slowly loose your mind.
Whirlwind tours of (several, hopefully many someday) popular and ought-to-be-more-popular programming languages, presented as valid, commented code and explained as they go.