Além de codar aonde posso aprender lógica de programação?

Estou indo para meu segundo projeto, mas ainda me sinto muito preso na hora de 'inventar' a lógica de programação. Mesmo sendo projetos genéricos me sinto frustrado por não conseguir pensar com minha propria cabeça na tal lógica. Enfim, se tiverem cursos na UDEMY ou algum site que dê para treinar lógica eu agradeceria. Obs.: Eu tentei usar o 'Exercism' mas achei muito complexo acabei nem levando a frente.

Eae Vini. Antes de te recomendar um curso, sobre essa questão da lógica, é normal ter essa insegurança no começo. Ao longo do tempo, com muito estudo e prática, vai se tornando algo natural. É "quebrar" a cabeça mesmo, e tentar pensar em uma solução sozinho, que essa naturalidade em pensar lógicamente virá.

Para te ajudar, recomendo fortemente o curso online CS50 - Introdução a Ciência de Computação de Harvard. Pessoal da Fundação Estudar disponibiliza de graça. Acho que vai te ajudar a pensar de maneira lógica, pois além das aulas serem muito boas, os desafios que eles propõe após cada aula não são trivias, e exigem muito raciocínio. Alguns serão mais difíceis, porém não desiste. Eu mesmo por exemplo, alguns desafios eu levei 3, 4 dias para resolver. Não desista.

Podes mandar o link do curso de havard por favor
https://materiais.napratica.org.br/cc50/?_gl=1*1gt86eg*_ga*MTEyMjkzNTA5LjE2OTcyMzIwMzU.*_ga_7WBS7RLRD9*MTY5NzIzMjAzNS4xLjEuMTY5NzIzMjA2MS4zNC4wLjA.
https://estudarfora.org.br/cursos/cc50/

quer bater um papo? Não vou te ensinar mas vou entender melhor o seu problema e tentar direcionar seus estudos.

Caso queira me mande um email (danniel.saraiva@gmail.com)

HackerRank https://www.hackerrank.com/ Acessa lá cria conta e sai fazendo os testes, é como se fosse uma code interview onde você recebe um problema uma descrição e testes unitários, ai vc tem que implementar na linguagem de programação que quiser.

Como comentou de ser dificil os primeiros leveis são mt easy, é tipo some todos os numeros do array de inteiros a ai c faz um (fazer em python pra ficar mais fácil)

def somaArr(arr): total = 0 for i in arr: total += i return total

Começa nesse nível.

Se estiver bem no inicio renda-se ao mestre guanabara, vamos pelo começo:

https://www.cursoemvideo.com/curso/curso-de-algoritmo/ aprenda algorítimos

https://www.cursoemvideo.com/curso/java-basico/ aprenda uma linguagem de programação que o mercado de fato usa, sai dessa de Python, NodeJS, Dart... linguagem modinha tem uma concorrencia absurda e pouca vaga JR se está começando comece numa lingugaem amplamente utilizada, robusta e com demanda

https://www.cursoemvideo.com/curso/java-poo/ aprenda a orientação a objetos, coloquei o de java ai tbm

https://www.cursoemvideo.com/curso/curso-de-git-e-github/ aprenda GIT e GITHUB fundamental para qqr TI

https://www.cursoemvideo.com/curso/mysql/ e aprenda bancos de dados, é um baita diferencial

Pronto agora vc entende back-end agora vamos no front (não ser sênior no front não é problema, mas qqr dev back necessáriamente tem que saber o minimo de HTML, CSS e JS)

HTML e CSS https://www.cursoemvideo.com/curso/html5-css3-modulo1/ tem 5 módulos

JS https://www.cursoemvideo.com/curso/javascript/

Tendo feito todos esses cursos vê um framework web como spring no caso do java e desenvolve uma aplicação completa banco, back-end e front-end como uma ferramenta útil para você que você use no seu dia-a-dia, assim você sempre irá ver oportunidades de melhoria e mantenha open-source no github e use de portifólio.

Pode ser qualquer linguagem não modinha, PHP, Java, C# e etc... Como disse se está começando agora comece em algo que o mercado precisa e tem falta de pessoas (xp propria).

Recomendo o FreeCodeCamp. Dá uma pesquisada.