Pessoalmente creio que a única forma de ter domínio de lógica de programação é exercitando. Para isso tenho algumas sugestões:
- CodeWars: ferramenta para exercício de código em diversas linguagens de programação e com score/pontuação e perfil compartilhável. Essa plataforma vai na pegada de gamefication e competição, fazendo rank entre a galera.
- Codility DevTraining: Plataforma coleção de desafios que sugerem a melhoria de determinado código. Interessante para conhecer problemas e soluções do mundo real.
- Codility PiCode: coleção de desafios semelhantes aos usados por empresas durante a validação técnica.
- Project Euler: coleção de problemas para exercício de lógica de programação. Tipo perfeito para exercitar e deixar à disposição no github.
Com essas sugestões você já vai ter conteúdo e ocupação por bastante tempo e diversas formas de deixar seu raciocínio lógico trincando.
Boa sorte.