With some extra time on my hands these days I am looking for things to code. I notice there are others with similar problems. This is a compiled list of free programming challenges you can start taking on today.
Codewars is a site where users both create and solve problems. Solutions are shared and discussed in the app. User solutions are developed, submitted, and analyzed for correctness. Multiple languages are supported. I liked to use Codewars several years ago to test my skills. It can be a great way to make sure your chops with different languages are where you want them to be. They have their own community including a Discord server and discussions board. Codewars is a for-profit adventure, working with companies and educators to provide solutions for developing and recruiting talent.
In my mind, Topcoder is the original programming challenge website. I believe this is the site I tried to access through my America Online Account when I was in middle school. The platform runs on competition, where challenges are posted, and prize money is awarded to developers with winning solutions.
LeetCode is similar to Codewars with the way it presents problems. On LeetCode, "you can use tutorials and study plans to learn fundamental and advanced data structures and algorithms, compete in contests, use guides to prepare for top companies, exercise your problem solving skills by solving real interview questions, and much more.".
Project Euler "is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve."
Project Euler is under a Creative Commons license and not-for-profit. It's a huge list of math-oriented programming problems. It's good practice for any 'math person'. I remember taking a swing at these problems in college and finding them very challenging.
Edabit is more straight-to-the-punch coding challenges that run in the browser, similar to Codewars.
Exercism is a open-source and not-for-profit code learning platform, where users can either mentor or take on challenges over a large range of programming languages.