Rosalind, Learning Programming Through Bioinformatics
Rosalind is a website aimed at providing a set of problems for people to solve, to teach a good deal about bioinformatics, and software development in the process. Personally I’ve taken this on as a means to teach myself the fundamentals of the Ruby programming language.
While Rosalind has a focus on the Python programming language, the problems are language-independant and you’re very unlikely to hit upon something that a problem requires that your language of choice doesn’t have.
Problem sites that give a focus on improving your skills this way and helping people learn aren’t a new idea, Project Euler is one of the more famous ones, and there are even github repositories that give exercises with a focus on improving your skills, or moving out of your programming language comfort zone. One of the nicest ones that I’ve found is here.
A different approach is taken by Code Combat, which pits people against each other or the AI, in a much more gamelike setting. As you would expect, this results in a much more gamified approach, but at the same time it can be a little limited since while the supported languages are always growing, it of course results in a lot less freedom than something like Rosalind where literally any language can be used if you can provide the output.
I think sites like these are great, and really give a different perspective on a language, or help give a foothold when learning a new one. As such I really recommend you give it a shot and if you’re pretty stuck, I guess you can take a look at my solutions here, although a lot are of course still in progress.