Estudante com problemas de lógica

Gostaria de saber como vcs desenvolveram a lógica de programação , sinto que esse é o meu maior problema pra avançar nos estudos de javascript. Quem puder compartilhar sua experiência e dicas eu agradeço!

Particularmente eu sempre tive facilidade com questões de lógica (qualquer concurso ou teste de emprego, é a parte que puxa minha nota pra cima).

Eu diria que o melhor é a pratica. Estuda a teoria até vc entender os conceitos, e depois vai fazendo exercício.

Teve uma época que eu fazia pelo menos 1 por dia, durante muito tempo. Existem muitos jogos que treinam a lógica, mas por serem jogos, fazem isso de forma divertida.

E tem também a questão de sempre exercitar o cérebro. Por exemplo eu já fui viciado em sudoku. Parece aleatório, mas você pratica tanto ficar olhando números o dia inteiro, que seu cérebro vai ganhando resistência, e não "dá pane" quando alguma questão complexa (em termos de lógica) aparece na sua vida.

Uma coisa que ajuda muito, embora muitos discordem, é estudar matemática. Sim, saber matemática é essencial para programar bem. O problema é que o ganho é indireto: muita coisa vc não vai usar diretamente no dia-a-dia. Na verdade, com a matemática, vc adquire a capacidade de resolver problemas, e de criar abstrações que em seguida serão transformadas em código (pois no fundo, programar é isso: abstrair as partes essenciais do problema, e materializar essas abstrações usando alguma linguagem de programação).

Estudar algoritmos também é importantíssimo. Muita coisa que vc precisa fazer já foi resolvida, no sentido de que alguém muito mais inteligente que nós já pensou no problema e achou uma ou mais soluções. Sabendo os algoritmos clássicos (como funcionam, que problemas resolvem, etc), vc aumenta sua caixa de ferramentas para resolver novos problemas que surgirem. Aliado à capacidade de abstração, vc consegue enxergar paralelos: problemas que parecem não ter nada a ver um com o outro, podem ser resolvidos pelo mesmo algoritmo, se vc abstrair o suficiente.

E claro, praticar bastante. Não tem jeito, só se aprende fazendo mesmo.

Exercício simples que sempre me ajudou é escrever em um caderno, nota, folha, na cabeça que seja o "Caminho" que seu programa está seguindo(testes de mesa), Quando falamos de lógica de programação eu sempre vejo como entender a forma em que a linguagem que está utilizando lê seu script/roteiro.

Rapaz, estou nesse exato momento desenvolvendo um treinamento de lógica, não é um curso, pois lógica de programação não se aprende assistindo aulas e sim treinando muito... Comece por exercícios básico e depois vai pegando os mais difíceis, só assim você vai ficar bom em lógica, o problema dos cursos atuais que eles querem ensinar os frameworks de cara, que é o que mostra um resultado concreto e quem comprou o curso fica feliz, mas quando você pega um problema da vida real, só saber frameworks e linguagens não resolve, tem que estar bem treinado em lógica.

Como já falaram o principal é prática.

No início não é natural pra quase ninguém.

No curso de introdução à Algoritmos e lógica do codeftw em breve começarei a postar vários exercícios.

O CodeFTW é um projeto que tenho desde 2017 para ensinar desenvolvimento, é de graça, dá uma conferida nos cursos lá. Eles estão na ordem que você deve fazer. Você pode ir marcando seu progresso pela plataforma do CodeFTW. Temos também uma comunidade ativa no Discord e WhatsApp para você tirar dúvidas sempre que precisar, a gente responde 100% das dúvidas, assim você nunca fica travado.

Quanto mais você praticar, mais sua lógica evolui, crie seus próprios exercicios de lógica e a cada programa feito adicione funcionalidades a mais, releia seu código e veja função de cada linha, e se desafie e seja ousado em questão de não ter medo de errar, porque é no erro que se aprende, sempre da pra melhorar um pouco nossso código, tenha persistência e constância com essas duas coisas minha lógica em python melhorou muito, pratique sempre que possível