terça-feira, 3 de julho de 2012

Por que o Arduino deve ir a escola?

A plataforma Arduino me fascina a cada dia. Para os que não conhecem, é uma plataforma de prototipagem usando eletrônica e programação, destinada a criação de objetos de computação física, em outras palavras, coisas inteligentes que reagem a estímulos do mundo real.
Meu primeiro projeto com o Arduino!
Quando você compra um Kit Arduino (recomendo ver o MercadoLivre), basicamente o que recebe é uma placa Arduino Uno, alguns sensores e um monte de fios. O segredo da genialidade dessa plaquinha é que dentro do seu chip principal temos um computador completo, que pode receber entradas, manipula-las, fazer cálculos e devolver saídas para o mundo real, tudo isso desatrelado de um computador comum. A placa, que tem memória para armazenar e executar pequenos programas, aceita códigos-fonte da linguagem Processing, mas para os que conhecem programação é muito similar ao Pascal ou a C.
Algumas coisas que dá para fazer com Arduino:

  • Uma luz piscar (Dãã...);
  • Fazer uma lâmpada comum se acender quando fica escuro (é o meu projeto da foto ao lado);
  • Fazer um alimentador de animais automático;
  • Solucionar pequenos problemas domésticos que precisem de uma reação à uma ação;
  • Automatizar uma casa para abrir portas e cortinas automaticamente, checar a segurança, ligar coisas com comando de voz;
  • Criar pequenos robôs exploradores, que desviem de obstáculos, ou que funcionem via internet;
  • Criar um videogame completo!

Programação obrigatória na escola

Sempre me perguntei qual é a idade mínima de uma criança em que se pode iniciar a programação. Quando tinha uns 13 anos um amigo de meu pai me emprestou o livro "Computes Grilo - Computador para todas as idades", de 1983. O livro, escrito por Rogerio Costa Pereira, era uma super aula ilustrada de Basic, linguagem de programação arcaica da Microsoft. Fiquei fascinado pela questão da lógica, e como era fácil escrever programas que tentavam imitar a resposta de um ser humano real (na época escrevia meus códigos no caderno do catecismo; só tive acesso a um computador 4 anos depois).
Afinal, qual a idade perfeita para iniciar com programação? 13 anos? 12? 7? Por que não? Os conceitos são muito mais simples do que se pensa por ai. Os não-programadores acham complicado porque nunca viram isso na vida. Mas... e se tivessem visto? Talvez ali na 3ª, 4ª série, entre uma fração e um MMC, se eles tivessem visto coisitas de programação linear? Será que não achariam mais fácil no futuro. Digo mais: será que eles não achariam a matemática mais fácil?
Eu aposto que sim: O uso da programação faria com que os alunos gostassem mais de matemática. E o uso do Arduino deixaria as aulas de programação muito mais visuais, palpáveis (um item essencial caso você queira ensinar algo a crianças). Afinal, é muito mais divertido dar comandos para ver um robô se mover no chão do que simplesmente ver um cursor se mover na tela.

Programar é para todos!

Todos os seres humanos programam. Só não sabem que o fazem! Quando você ensina alguém a ir a um dado lugar, dando instruções em uma dada sequência, isto é programação. Quando você segue uma receita de bolo passo a passo, executando sub-rotinas no meio (quebrar o ovo, medir uma quantidade), você está executando uma codificação. Os conceitos básicos de programar, como if (se tal coisa for verdadeira, faça isso...), while (enquanto tal coisa for verdadeira, faça isso...), e variáveis (x, y, pi), são também de fácil assimilação. Então porque as pessoas acham que programar é difícil? Será que é porque quando elas chegam na faculdade, todo o básico tem que ser assimilado em 2, 3 aulas, para já passar para o avançado? Será que se esse aluno tivesse visto isso ao longo dos anos, não conseguiria pensar na recursividade mais facilmente?

"-Crianças, compilem!"

A inclusão da programação no currículo básico escolar poderia ser uma solução para dois problemas de uma só vez: Aumentaria o interesse (e as notas) dos alunos em matemática, e daria uma melhor base para os futuros alunos das áreas exatas. O Arduino, com seu hardware super barato (R$ 50), é então a melhor das ferramentas para acabar com o maior problema da programação: A intangibilidade do código!