Como ensinar uma criança a programar com Scratch

"Pai, como é que se faz um sistema operacional?", perguntou meu filho alguns meses depois de descobrir o computador. Expliquei pra ele o que era linguagem de programação, que pra dizer o que o computador deveria fazer, tinha que usar uma linguagem específica.

Na época, ele tinha 7 anos. Embora computadores estivessem disponíveis em casa há muito tempo, ele nunca havia se interessado muito por eles, a não ser pelos jogos que a gente fez junto. Depois que me mudei pra Holanda, a gente passou a se comunicar por Skype, o computador se tornou o nosso espaço de brincadeiras. A gente brincava com bonecos, contava história e jogava jogos online, mas a conversa sempre ficava muito restrita aos limites da plataforma. Conforme ele foi tentando quebrar esses limites, a brincadeira evoluiu.

Imagem2.png

Ele começou compartilhando fotos que tirava, depois aprendeu a escrever textos no Word, desenhar no Paint, etc. A partir do momento em que dominou as possibilidades de customização do Windows, começou a reclamar que o Windows era muito ruim, daí veio a ideia de fazer o seu próprio sistema operacional.

Meu filho foi educado numa pedagogia construtivista radical. Se você quer aprender sobre algo, você precisa reconstruir esse algo. Mas como fazer isso com um objeto tão complexo quanto um sistema operacional?

Eu aprendi a programar com MS-DOS Basic, mas eu tinha 12 anos. Como é que eu iria ensinar os princípios de lógica para um garoto de 7? Me lembrei do Scratch, a linguagem de programação criada no MIT, evolução do Logo. A grande vantagem é que o conhecimento de lógica não é necessário. A lógica está embutida no sistema, não há como escrever algo ilógico. Cada elemento lógico é um bloco visual de arrastar e soltar. Não é necessário lembrar os comandos nem tampouco entender a lógica. A metáfora física dos blocos torna impossível o encaixe entre elementos ilógicos.

pacman_scratch.png

Deu mais certo do que eu esperava! Eu não precisei ensinar programação para ele sair programando. Ensinei como arrastar uma coisa aqui e outra acolá e obter um resultado divertido, como fazer um barulho quando o Pac-Man toca no fantasminha.

Pac-Man era um jogo que ele gostava, desde bem pequeno. A gente costumava brincar de Pac-Man na vida real correndo pela casa. Como é um jogo simples, resolvi começar como exemplo. Ele ficava me perguntando: "Mas pai, eu quero fazer um sistema operacional..." Eu respondia que isso era muito difícil e que primeiro ele tinha que aprender essa tarefa fácil.

Depois de fazer o jogo junto, deixei ele à vontade. Ele não conseguiu reconstruir o jogo sozinho, mas descobriu que podia fazer interfaces parecidas com sistemas operacionais com o que já tinha aprendido. Ele colocava em tela cheia e brincava que estava rodando o sistema operacional dele, o Itac, uma distribuição de Linux, ao invés do Windows.

Imagem3.png

É claro que à essa altura eu já tinha explicado pra ele a diferença entre código fechado e código aberto. Uma vez que ele entendeu o que era código, pediu pra ver o código do Windows e eu expliquei que não dava. "Como assim não dá?" Expliquei que existiam vários tipos de sistemas operacionais e que o Windows era fechado. Ele quiz conhecer outros, então eu mostrei o site Guidebook. Ele ficou fascinado. Fez diversas versões do sistema operacional dele, misturando elementos de vários dos sistemas antigos lá catalogados. Quando ele começou a fazer sistemas operacionais que tinham um Scratch dentro aí eu achei que já era hora de mudar de assunto!

sistema_com_scratch_dentro.PNG

Depois de brincar de sistema operacional, ele começou a criar vários tipos de jogos, utilizando como personagens seus próprios brinquedos, em especial, os animais de pelúcia. Um dos primeiros jogos que ele fez por conta própria foi um simulador de mercadinhos.

jogo_mercadinho.png

Ele criou dezenas de jogos. Quando esses jogos se tornaram jogáveis por um usuário, eu propus a ele compartilhar seus jogos com a comunidade. Uma das grandes vantagens do Scratch é que a comunidade compartilha milhares de arquivos fonte, você pode fazer o download e estudar o código. Foi assim que eu aprendi a fazer o Pac-Man para poder ensiná-lo lá no começo!

Os jogos e programas que ele escolheu compartilhar estão publicados no Sapo Kids. Você pode testar o sistema operacional Itac, desenhar com o ursão, ver uma história animada da cuquinha. Num dos primeiros jogos, um usuário português elogiou os ruídos caseiros que ele gravou para o jogo.

Após dois anos de brincar com Scratch, ele já não tem mais o mesmo interesse. Quer algo mais complexo. Na sequência, irei escrever sobre as próximas plataformas que a gente testou, mas o mais importante é que com Scratch eu consegui passar pra ele a Ética Hacker, que o Alex Primo apresentou muito bem nessa palestra TEDx.

Livro

Se você gostou dessa estória, veja o livro sobre Scratch que escrevi inspirado nas minhas brincadeiras com meu filho.

Brincando de gato e rato dentro do computador

Fred van Amstel ([email protected]), 11.10.2012

Veja os coment?rios neste endere?o:
http://www.usabilidoido.com.br/como_ensinar_uma_crianca_a_programar_com_scratch.html