Por Que Scratch É A Melhor Plataforma Para Crianças Aprenderem Programação

O momento em que minha filha criou seu primeiro projeto no Scratch – uma animação simples de um gato perseguindo uma borboleta – sua relação com o computador se transformou completamente. De repente, ela não estava apenas consumindo conteúdo; ela era quem fazia as coisas acontecerem na tela. Dois anos e incontáveis projetos depois, posso articular exatamente por que Scratch é uma linguagem de programação tão fantástica para crianças e um excelente playground criativo para jovens mentes como a dela em geral.
Conheça o Scratch: Uma Linguagem de Programação Que as Crianças Amam
Desenvolvido pelo MIT Media Lab no início dos anos 2000, Scratch é um playground colorido e intuitivo onde as crianças podem dar vida às suas ideias.
Diferente das linguagens de programação tradicionais que podem sobrecarregar as crianças com sintaxe complexa e ponto e vírgulas crípticos, Scratch usa uma abordagem visual que faz total sentido para as mentes jovens.

Cada conceito de programação é representado por um bloco colorido distinto: roxo para aparência, azul para movimento, amarelo para controle, e assim por diante. Esses blocos se encaixam como peças de quebra-cabeça de maneiras lógicas, e você ficaria surpreso com o quanto pode fazer com eles.
Quer fazer um personagem se mover quando você pressiona a barra de espaço? Basta pegar um bloco de “evento”. Precisa lembrar o nome do jogador durante o jogo? Crie uma variável com um único clique. Esses conceitos que podem soar intimidantes em um curso de programação tradicional se tornam tão naturais quanto construir com blocos.
Até funções, um conceito que pode desafiar aprendizes adultos, surgem naturalmente no Scratch. Quando minha filha percebeu que queria que vários de seus personagens realizassem a mesma rotina de dança, ela descobriu que poderia criar um bloco personalizado na seção “Meus Blocos” para evitar repetir o mesmo código.
A melhor parte? Diferente das linguagens de programação tradicionais para iniciantes, onde você frequentemente vê apenas a saída de texto em uma janela de terminal entediante, tudo que você cria no Scratch ganha vida instantaneamente na tela. Com um único clique na bandeira verde, minha filha podia assistir seus personagens dançarem, interagirem e se moverem exatamente como ela imaginou.
Começando Com Scratch
Começar com Scratch não poderia ser mais fácil. Ele roda diretamente no seu navegador em scratch.mit.edu, embora também haja uma versão para download disponível para Windows, macOS, ChromeOS e Android, se você preferir trabalhar offline. Optamos pela versão web, já que minha filha usa um Raspberry Pi como computador (a versão offline não suporta Linux).

Embora você possa começar a criar projetos imediatamente sem uma conta, decidi criar uma para minha filha para que ela pudesse salvar seu trabalho e se juntar à comunidade de jovens criadores.
Para sua primeira criação, decidimos manter as coisas simples: uma animação de um gato perseguindo uma borboleta. Uma das características mais atraentes do Scratch é sua extensa biblioteca de sprites – personagens e objetos animados pré-fabricados que as crianças podem usar em seus projetos, então adicionar a borboleta foi tão fácil quanto clicar no botão “Escolher um Sprite”. Convenientemente, o sprite do gato já está presente por padrão, então nem precisávamos adicionar isso.

Uma vez que o palco estava montado, era hora de adicionar alguma lógica. Mostrei à minha filha como usar blocos de evento como “quando a tecla [espaço] for pressionada” para fazer o gato se mover em direção à borboleta. Usamos blocos de movimento simples, como “mover [10] passos”, que permitiram que ela visse o resultado de seus comandos instantaneamente. Para torná-lo interativo, adicionamos uma verificação condicional com o bloco “se” para detectar quando o gato tocava a borboleta. Quando isso aconteceu, acionamos um bloco de som para que o gato miar.

A simplicidade de arrastar e encaixar esses blocos juntos tornou intuitivo para ela entender o fluxo de ações. Mesmo neste estágio inicial, ela compreendeu a lógica por trás das declarações “se-então” e da programação orientada a eventos sem perceber que estava aprendendo conceitos fundamentais de programação.
Principais Desafios com Scratch
Embora o Scratch seja projetado para ser amigável para crianças, encontramos dois obstáculos ao longo do caminho. Aqui está como os enfrentamos.
Dificuldades Iniciais de Leitura
O maior obstáculo inicial não era técnico, mas sim de alfabetização. Quando começamos com o Scratch, as habilidades de leitura da minha filha não estavam suficientemente desenvolvidas para entender todas as descrições dos blocos e rótulos dos botões de forma independente.

Em vez de deixar isso a impedir, transformei isso em uma oportunidade para um tempo de aprendizado compartilhado. Sentei-me com ela durante suas primeiras sessões de programação, lendo rótulos e explicando o que diferentes blocos faziam. Dentro de alguns meses, ela estava lendo as descrições dos blocos sozinha, e seu vocabulário de programação e alfabetização tecnológica se expandiram naturalmente junto com suas habilidades de leitura.
Limitações de Tamanho de Projeto
O único desafio técnico que encontramos veio dos limites de ativos do projeto do Scratch. Veja, cada projeto pode conter vários ativos, mas cada ativo deve ter até 10 MB de tamanho. Embora isso seja suficiente para sprites e efeitos sonoros curtos, ainda encontramos problemas de tamanho quando minha filha começou a adicionar músicas de fundo de sua própria produção.

A solução foi ser mais inteligente sobre arquivos de áudio. Em vez de usar os arquivos WAV que vêm diretamente da gravação, começamos a convertê-los para o formato MP3 usando o Audacity, um editor de áudio gratuito. Essa compressão geralmente reduzia o tamanho dos arquivos em 80-90% enquanto mantinha uma qualidade de som aceitável.
Além do Scratch: O Que Vem a Seguir?
Por mais maravilhoso que o Scratch seja ao introduzir conceitos de programação através de blocos visuais que as crianças acham envolventes, chega um momento em que jovens programadores podem querer explorar a programação baseada em texto. Afinal, é disso que a verdadeira programação se trata.

Minha filha ainda não está pronta para a programação totalmente baseada em texto, então estamos dando um passo intermediário com o MakeCode da Microsoft, que é muito semelhante ao Scratch porque também usa blocos para ensinar programação. Mas ao contrário do Scratch, o MakeCode também permite que jovens programadores mudem para a programação baseada em texto e implementem lógica mais avançada em JavaScript ou Python.
Para crianças mais velhas que estão prontas para mergulhar diretamente em linguagens baseadas em texto, Python e JavaScript são excelentes pontos de partida. Ambos oferecem sintaxe limpa e legível e bibliotecas extensas para criar jogos e gráficos, perfeitas para jovens programadores que desejam construir sobre os conceitos que aprenderam no Scratch.
Imagem de capa e capturas de tela por David Morelo.