Exercism provides "thousands of exercises spread across over 50 language tracks, and offer both automated and human mentoring". [1]
I like excercism for its nature of giving interesting challenges without any restrictions for the solutions. This results in different solutions, even for very basic tasks. One can discuss and learn from many available community solutions which often takes complete different approaches. Evaluating other solutions after completing the task is very effective!
These are my solutions so far.
Check out my profile for community comments or to add comments yourself.
Please be aware that these are approaches from the past, I might have gained more experience in the meantime.