Introdução ao pensamento computacional
Uma linguagem de programação nos permite "explicar" a um computador como executar uma solução de um problema específico no mundo real. Mas, primeiro, um programador deve pensar nas diferentes formas de resolver o problema que está tratando utilizando uma habilidade necessária para qualquer tipo de programação, independentemente da linguagem. Isso é chamado de pensamento computacional.
O que é pensamento computacional?
Os computadores só podem lidar com instruções claras e concisas que estejam de acordo com as regras da lógica formal esperada. No entanto, os problemas do mundo real raramente são definidos de forma tão clara. Nesse sentido, o pensamento computacional é um conjunto de habilidades mentais que ajudam a ver os problemas como um conjunto de processos de informação complexos que podemos transformar em um conjunto particular de instruções para um computador.
O pensamento computacional não está necessariamente ligado à programação de computador, mas sim na estratégia para modelar soluções e resolver problemas de forma eficiente – e, assim, encontrar soluções genéricas para classes inteiras de problemas. Portanto, apesar de não estar completamente relacionado ao pensamento computacional, o computador é uma importante ferramenta para a otimização de tarefas, sobretudo nas etapas que envolvem sequências de ações que podem ser previstas.
Aborde cada problema que você encontrar ao aprender uma linguagem de programação não apenas como uma oportunidade de lembrar a sintaxe da linguagem, mas também como uma oportunidade para treinar o pensamento computacional. Para fazer isso, você pode seguir um algoritmo simples:
-
Descreva o problema
O que exatamente precisa ser feito? Quais dados de entrada você recebe e qual é o resultado desejado? Em outras palavras, para um determinado dado de entrada, qual a saída esperada?
-
Identifique os detalhes importantes necessários para resolver este problema
Antes de pensar em uma solução, certifique-se de levar em consideração todos os aspectos importantes do problema. Falhas em grandes projetos frequentemente são atribuídos a pequenos erros que foram esquecidos. Isso significa que quando você não se concentra nos detalhes do problema, você pode se deparar com erros inesperados. O insucesso está nos detalhes e, no caso da programação, ele se "esconde" nos casos extremos.
-
Decomposição
Divida o problema em partes pequenas e lógicas até saber exatamente como codificar cada parte dele.
-
Use estas partes para criar um algoritmo que resolva o problema
Conecte as partes do problema de uma maneira que produza o resultado desejado em todos os casos especificados.
-
Avalie o processo
Normalmente, existem diferentes estratégias (soluções) para resolver um problema e é muito útil avaliar sua ideia para ter certeza de que escolheu uma forma que seja a mais eficiente possível. Por exemplo, imagine que você esteja com um dicionário impresso nas mãos e queira ver o significado da palavra "imutável". Uma estratégia para encontrar a palavra seria, começando pela primeira palavra, passar uma a uma até chegar na palavra desejada. Essa seria uma boa estratégia? Por quê? Qual estratégia você usaria para encontrar essa palavra o mais rápido possível no dicionário?
Conclusão
Visto que o pensamento computacional é uma habilidade e requer bastante prática antes de poder aplicá-lo facilmente, não se desespere se o seu único pensamento ao olhar para um problema é que você não tem ideia de como chegar nos resultados esperados. Use os algoritmos que descrevemos e continue dividindo o problema até ver como descrevê-lo com as ferramentas da linguagem de programação utilizada.
Fote: texto traduzido e adaptado de https://hyperskill.org/learn/step/8742
Para saber mais
- https://pt.wikipedia.org/wiki/Pensamento_computacional
- https://escolasdisruptivas.com.br/metodologias-inovadoras/pensamento-computacional/
- https://institutoayrtonsenna.org.br/pt-br/meu-educador-meu-idolo/materialdeeducacao/pensamento-computacional-e-programacao-como-ferramentas-de-aprendizagem.html