Para quem está a aprender programação, o site Exercism.org é um óptimo ponto de partida para iniciar esta jornada de aprendizagem.
Mas não é só para quem está a iniciar: é também excelente para conhecer outras linguagens de programação, interagir com outros utilizadores e ver que um puzzle pode ser resolvido de outras maneiras (e até mesmo ficar a conhecer outras técnicas).
Pessoalmente, uso os exercicios e puzzles para ‘olear’ a prática de C, mas também para dar os primeiros passos noutras linguagens (Dart, Go, …). Tenho registado o meu progresso num repositório próprio
Se tiverem curiosos, dêem o salto e explorem o site! É gratuito!