Antes de começar a codificar para ensinar um computador a resolver um problema específico, você normalmente precisa entender o problema sozinho, encontrar uma solução e só então ensinar um computador a lidar com ele. O pensamento computacional é um método para tornar esse processo mais rápido e fácil, mas não se limita apenas à programação e pode ser aplicado em várias partes da nossa vida.

O Pensamento Computacional (CT) é um conceito que os especialistas da indústria chamam de 'código para o sucesso' e 'habilidade vital'. Embora seja relativamente simples, a TC pode ser útil muito além da simples programação de software. O termo foi proposto pela primeira vez em 1980 por Seymour Papert, um matemático e cientista da computação, como uma forma de resolver vários problemas e tarefas relacionados à programação de forma mais eficiente.

CT é um conjunto de métodos que envolve pegar um problema complexo e dividi-lo em uma série de problemas menores que são mais fáceis de gerenciar, além de expressar a essência de um problema e a solução de maneiras que um computador pode executar.

Como funciona o Pensamento Computacional?

O Pensamento Computacional como técnica consiste em quatro métodos principais, que são decomposição, generalização/abstração, reconhecimento de padrões/representação de dados e algoritmos. Eles são todos igualmente importantes e eficazes quando aplicados (a um problema) na ordem certa.

Decomposição

Você começa com a decomposição, que é separar um problema em vários problemas menores que são mais fáceis de resolver um por um.

Abstração (generalização)

Então você passa para uma tarefa/problema específico, focando exclusivamente na informação que é importante para resolvê-lo e ignorando todo o resto.

Reconhecimento de padrões (representação de dados)

O próximo passo é procurar semelhanças entre o problema no qual você está trabalhando atualmente e outros problemas que já foram resolvidos anteriormente (com a solução disponível). O objetivo é encontrar padrões que possam ser aplicados à sua tarefa atual.

Algoritmos

E, finalmente, tendo os resultados da aplicação das etapas anteriores, você desenvolve um algoritmo para uma solução passo a passo do problema. Um algoritmo, então, pode ser executado por um computador (ou seu cérebro, que é o computador definitivo para resolver tarefas em sua vida).

Usando o Pensamento Computacional

Saber como usar o CT ao lidar com problemas e tarefas com as quais a maioria dos desenvolvedores de software lida regularmente pode ser extremamente útil ao longo de sua carreira na codificação.

Aqui está um guia rápido sobre como começar a aplicar o pensamento computacional para tarefas de codificação ou praticamente qualquer problema sério com o qual você possa estar lidando em sua vida pessoal.

Aplicando decomposição

A decomposição é uma técnica bastante simples, mas poderosa, que pode ajudá-lo a lidar com problemas/tarefas que parecem muito complexos à primeira vista e, portanto, muitas vezes causam procrastinação e outras dificuldades. A chave aqui é treinar seu cérebro para usar a decomposição regularmente, dividindo uma tarefa em várias tarefas menores que são mais fáceis de resolver. Embora a decomposição possa parecer um método muito simples e até óbvio, você ficaria surpreso com quantas pessoas não estão cientes disso, o que torna muito mais difícil para eles começar a trabalhar em grandes tarefas globais (como aprender Java, por exemplo).

Aplicando abstração

Saber como aplicar a abstração é uma habilidade poderosa se você conhece a técnica e treinou seu cérebro para usá-la inconscientemente. Abstração é focar exclusivamente nas informações necessárias para resolver a tarefa, ignorando todo o resto. Usado em combinação com a decomposição, é basicamente o método para abordar praticamente qualquer problema ou questão em sua vida. Ao lidar com tarefas estritamente de programação, a abstração ajuda a concentrar e evitar que seu cérebro se esgote muito rapidamente.

Aplicando o reconhecimento de padrões

O reconhecimento de padrões é uma habilidade bastante importante na codificação, pois permite que você resolva tarefas muito mais rapidamente, aplicando padrões de pensamento com os quais seu cérebro está familiarizado e confortável em usar. É também uma técnica poderosa para aplicar a problemas gerais da vida: apenas tente analisar quaisquer problemas que você esteja enfrentando em sua vida e encontre (e tome emprestado) padrões daquelas partes de sua vida que funcionem satisfatoriamente, transferindo-os para o problema atual.

Aplicando algoritmos

Quando você pensa sobre isso, nossa vida é toda sobre a formação de algoritmos. Nós os chamamos de hábitos. Nosso cérebro tende a contar com hábitos todos os dias, apenas porque é mais eficiente e, portanto, prático. O único problema é que a maioria de nós tende a fazer isso inconscientemente, o que geralmente resulta na formação de algoritmos errados e prejudiciais (nós os chamamos de maus hábitos ou vícios). Saber como formar algoritmos úteis conscientemente pode ser uma habilidade de vida extremamente benéfica, permitindo que você atinja seus objetivos e seja bem-sucedido. Quando se trata de programação, saber formar um algoritmo para resolver um determinado problema da maneira mais rápida e eficiente é o que diferencia uma pessoa que só sabe codificar de um experiente programador de computador profissional.