Post

Top 10 sites to practice programming

  1. HackerRank

    HackerRank is currently my favourite programming site. There is a lot of exercises and they are split in different categories - Algorithms, Java, Functional programming, Databases, etc. Everyone will find something interesting. In many cases solutions can be submitted using different languages - solve one in Java and then try the same in a functional language!

    I really like one thing about this site - they show output (even incorrect) of submissions. This one, small feature helps a lot figuring out what is wrong with the submitted code. Compare that with terse “Wrong Answer” on other sites.

  2. Rosalind

    This site has a collection of very interesting problems and learning resources. Of course, there is a bunch of pure algorithmic problems, like on other sites, but the most interesting part is their collection of bioinformatics problems to solve with helpful learning resources. It’s very cool site where one can see how algorithms can be used to solve real world challenges!

  3. SPOJ - Sphere Online Judge

    Very known site with plenty of algorithmic problems. SPOJ also allows to use different programming languages, even very esoteric. These days I visit it less often, but it’s still a good site.

  4. TopCoder

    It’s one of the oldest contests sites. At the beginning there were only algorithmic competitions, but with time they’ve added other type competitions - software design, testing, graphical design, etc.

    TopCoder is the only site I know of, where one can earn some money in programming contests.

  5. We Chall

    We Chall is not a programming/contest site by itself, but it keeps a global ranking from many security contests sites (often Capture The Flag type). Very interesting challenges that require broad IT knowledge. One site which I like but is not on We Chall is Backdoor - Security platform.

  6. 4clojure

    In Clojure community the site is very well known. It contains (ATM) 156 problems ranging in difficulty from easy to hard. By solving them you can learn quite a lot of nice tricks in Clojure and feel the beauty of the language. Don’t forget to enroll to code golf league! :-)

  7. CodeKata

    Contrary to mosts programming sites that focus around algorithms and such, CodeKata has a list of problems that will exercise you in different directions. The katas set goals that will make you think about modeling of problem domain, different trade offs, etc.

  8. exercism

    exercism.io is very interesting and unusual site with programming exercises that aid in learning a new language. It has at least two things that make the site exceptional:

    1. Command line client for fetching and submitting solutions.
    2. Programmers are encouraged to Code Review other solutions. IMHO being able to see how others have solved the same problem is a great way to learn a language. Just try it! :-)
  9. Code Fights

    I discovered Code Fights just recently, but found their approach to the competetive programming quite amusing. In other places you can take your time and solve problems slowly, here the time runs really fast and your competitor is trying to solve the same problems faster than you. It’s like playing coding game! :-)

  10. Code Chef

    A good site with plenty of problems and a lot of tutorials.

  11. Project Euler

    A series of challenging mathematical and programming problems.

  12. Geeks for Geeks

    Problems to solve in C, C++, Java, and Python.

  13. Kaggle

    Data Science (machine learning) problems and competitions.

  14. Code Forces

    Well known site with lots of problems and competitions.

  15. Coding Game

    A nice site where you can improve your skills by coding games in various languages.

  16. Python Challenge

    A fun site to practice Python.

  17. CS Academy

    Programming contests (C++, Java, Python, C#) and tutorials.

  18. Hacker Earth

  19. Leet Code OJ

  20. Code Wars

  21. Codility

  22. Code eval

  23. UVa Online Judge

  24. Lint Code

  25. CodeStepByStep

  26. HPC University Weekly Challenge

The book about Competitive Programming

Recently I’ve discovered a great book exactly about competitive programming: “Competitive Programming, 3rd Edition” by Steven Halim and Felix Halim.

And where do you practice programming? Let us know in the comments!

This post is licensed under CC BY 4.0 by the author.