A programação é a nova alfabetização
maio 17, 2016 § Deixe um comentário

Este mês, completa um ano que comecei a programar. Meu início foi com uma das linguagens mais populares, Ruby, em um ambiente de desenvolvimento online chamado Cloud9. Nestes 12 meses, passei por outras linguagens (Python, outra preferida dos programadores) e montei meu próprio ambiente de programação local (quer dizer, em meu computador). Hoje estou “envolvido” com a linguagem R (é uma linguagem de programação estatística, usada bastante em Data Science).
Neste “meio tempo”, “devorei” o que encontrei pela frente em termos de conceitos, referências (livros, vídeos e pessoas) e filosofias para definir o meu próprio entendimento sobre o assunto. Quem se interessar, ou invés de começar por algum livro, manual técnico ou então por raciocínio lógico e lógica de programação, sugiro se inteirar em relação às filosofias que envolvem a programação computacional. Um livrinho bem bacana neste sentido é o do autor Douglas Rushkoff, professor de teoria da economia digital da City University of New York, “Program or Be Programmed”.
Quando se diz que a programação é a nova alfabetização, não se está insinuando que ela deva substituir o que chamamos de alfabetização hoje, mas sim se incluir no conceito. Não se engane, alfabetização é um conceito, que envolve as habilidades básicas que todo ser-humano deveria dominar para se inserir na sua sociedade.
Este conceito vem sendo desenvolvido desde o século XII, quando a habilidade da leitura começou a ganhar importância. No século XVI, recebeu a companhia da escrita e criou a base do modelo mental que temos de alfabetização. Mas como todo conceito, evolui. No século XVIII recebeu a adição da aritmética e no século XX, a da habilitação automotiva (sim, a carteira de motorista tem este status em boa parte dos países do mundo). No século XXI, chegou a vez da programação computacional ser incluída neste entendimento.
John McCarthy, o inventor da linguagem Lisp e a pessoa que cunhou o termo “Inteligência Artificial”, dizia que uma pessoa deveria aprender a programar para poder “falar com os servos”. Apesar do termo politicamente incorreto, McCarthy se referia ao fato de cada vez mais os seres-humanos gerenciarem máquinas (os “servos”) e as máquinas, ainda hoje, só conseguem fazer o seu trabalho se o ser-humano disser, especificamente, o que e como elas devem fazer. É preciso dar instruções claras. A maneira de se fazer isto, é pela programação computacional.
Desta forma, programar não é mais uma habilidade-nicho (que apenas uma determinada profissão conhece), é uma habilidade essencial para qualquer pessoa com ambição em obter sucesso. É tão importante, que várias organizações se propõe a ensinar programação básica de graça. CodeAcademy, edX e Free Code Camp são alguns exemplos. Vários cursos básicos já são oferecidos em português, graças ao trabalho voluntário de algumas pessoas, mas a maioria dos gratuitos ainda é em inglês.
É claro que aprender a programar não é simples. Há inúmeras dificuldades – principalmente se quem estiver aprendendo já vier com uma baixa formação em matemática e raciocínio lógico – mas se alfabetizar não é simples. É sabido que algumas condições podem se somar aos obstáculos comuns que todo aprendizado traz, por exemplo, dislexia dificulta o aprendizado da leitura e discalculia torna o aprendizado matemático muito mais penoso. Mas é importante deixar claro, que é cada vez mais consenso entre educadores e cientistas cognitivos, que qualquer pessoa que esteja no domínio de suas faculdades mentais, pode aprender a programar – assim como pode aprender a ler, a escrever, a fazer conta e a dirigir. A Khan Academy disponibiliza um vídeo sobre a importância de se manter uma mentalidade de crescimento, essencial para aprender qualquer coisa.
Não se propõe que todo mundo vire desenvolvedor de softwares. O fato de alguém aprender a escrever, por exemplo, não significa que a pessoa se tornará uma escritora ou alguém que aprenda aritmética se tornará um matemático profissional. Mas todos que sabem escrever ou conhecem aritmética, se tornam mais habilidosos para caminharem pelas próprias pernas na “luta” pelo pão de cada dia.
Minha experiência neste último ano me mostrou coisas novas, coisas que havia esquecido e principalmente, me possibilitou começar a desenvolver uma habilidade que nunca considerei que pudesse me trazer tanto conhecimento. Meu conselho é: aprenda a programar, aprenda a falar com as máquinas, você não vai se arrepender.
Obama, programação e robótica
fevereiro 2, 2016 § Deixe um comentário

Em janeiro último, o presidente Obama fez o seu discurso final ao congresso americano. É uma prática centenária chamada “State of the Union”, em que o mandatário do poder executivo presta contas aos poderes legislativo e judiciário e compartilha o planejamento para o ano corrente. Em um dos tópicos, Obama verbalizou a importância em “ajudar os estudantes a aprenderem a escrever códigos para computadores”. Ao se comunicar diretamente com estudantes em um evento posterior, o presidente americano os instigou a “dominar as ferramentas e tecnologias que irão mudar tudo o que conhecemos”.
Obama está certo. Não apenas estudantes, mas todos nós, deveríamos mudar o foco de recebedores passivos de tecnologia para criadores ativos de programas, aplicativos, invenções tecnológicas, etc. Esta mudança de atitude, mais do que uma “corrida” tecnológica, significa adequar a forma de pensar para uma mentalidade dinâmica, em que se destaca a “nutrição” do pensamento com conhecimentos abrangentes e a imaginação para melhorar criativamente a comunidade a nossa volta. A “criação” de tecnologia é apenas um condutor (não o único) para esta energia. É bem verdade que é um condutor altamente eficaz, o que leva o presidente dos EUA a “fazer campanha” a seu favor.
Apesar do custo ser apontado como um inviabilizador da iniciativa de se promover uma distribuição coletiva deste tipo de conhecimento, algumas alternativas, como o uso de conhecimentos do tipo acesso livre (open access), ajuda a mitigá-los. Opções como Khan Academy e Code.org já oferecem seus conteúdos em diversas línguas, inclusive o português. São gratuitos (para educadores, estudantes e pais), oferecem incentivos motivacionais e atraem os mais novos com gráficos altamente coloridos e interfaces que usam personagens conhecidos de videogames e temas “lúdicos” como zumbis. Sites como estes representam o primeiro passo para introduzir o coding (como a programação de computadores vem sendo chamada) na vida de um leigo.
O passo seguinte para atingir o que Obama sugeriu (“dominar as ferramentas e tecnologias que irão mudar tudo o que conhecemos”) é a robótica. Instituições e ferramentas destinadas a popularizar o conhecimento e o aprendizado de robótica como Sphero, Wonder Workshop e Lego Mindstorms – apesar de estarem por enquanto disponíveis apenas em inglês, não são empecilho para quem tem algum conhecimento na língua (mesmo em nível escolar) e disposição para aprender. Estas opções para o aprendizado em robótica demonstram que não é necessário montar um laboratório caríssimo do nível do M.I.T. para colocar a “mão na massa”. A robótica “promove” quem conhece coding, da interface solitária de uma tela de computador para uma comunidade social ativa.
Agora que vimos “como” o apelo do Obama pode ser colocado em prática, proponho analisar “porque” ele deve ser colocado em prática. Fugindo de viés social ou econômico – que também podem ser usados para justificá-lo – pretendo focar no viés cognitivo. Afinal, como dizem, preparo educacional e inteligência são algo que nenhuma crise econômica tira de uma pessoa.
Ponto 1: aprendizado sensorial
Seres humanos aprendem utilizando todos os seus sentidos. Alguns pesquisadores têm se esforçado para demonstrar que uma abordagem multissensorial ativa um número maior de conexões cognitivas do que a abordagem tradicional, focada no audiovisual. Programação e robótica atuam neste sentido, encorajando quem as aprende a tocar, construir, medir, avaliar e testar o que fazem. Isto envolve emocionalmente e fisicamente quem aprende, estimulando o aumento de conexões neurais que resultam em um aprendizado ativo e reforçam, pela experiência, a memória de longo prazo.
Ponto 2: melhora da socialização
Aprendizado pela socialização não é nada novo. Lá nos anos 1970, Albert Bandura estabeleceu a teoria mais conhecida da aprendizagem por socialização, que estimulava as pessoas a aprendem umas com as outras, através da observação, imitação e criação de modelos. Esta linha de pensamento é ainda relevante hoje, quando observamos o crescimento da comunicação e colaboração como habilidades críticas para o sucesso profissional. Estratégias para aprendizagem que utilizam como ferramentas a programação computacional e a robótica, além de oferecerem oportunidades de socialização, estimulam o desenvolvimento da habilidade de escutar e avaliar perspectivas alternativas (em um mundo que parece se radicalizar pelos extremos – tanto em uma linha conservadora quanto liberal – esta habilidade pode ser essencial para evitar que explodamos uns aos outros no futuro).
Ponto 3: oportunidade para promover inovação ao alcance das mãos
Em um livro que recomendo bastante, Daniel H. Pink, autor de obras lidas por interessados em administração de empresas, teoriza que nestes anos iniciais do século XXI temos testemunhado uma mudança de mentalidade que irá “pavimentar” o caminho para o restante do século (os 84 anos que ainda temos pela frente). Neste “novo mundo”, o MFA (Master in Fine Arts) irá substituir o MBA (Master in Business Administration) em importância. A questão que Pink aborda, é que não basta “gerenciar” para estimular a inovação. É necessário ter disponível as habilidades criativas para tal. Embora criatividade e pensamento inovador não possam ser automatizados em um programa de computador, o raciocínio lógico que a programação computacional se nutre também estimula oportunidades de construir e expressar a imaginação. Associadas à robótica, estas oportunidades se potencializam.
Ponto 4: aumento do rigor intelectual
Os níveis mais altos da Taxonomia de Bloom (criada pelo psicólogo Benjamin Bloom em 1956) são as capacidades de aplicação, análise, síntese e avaliação. Ao atingir este ápice de pensamento, a pessoa adquire a capacidade de visualizar maneiras viáveis (e novas) de aplicar seu conhecimento. Programação computacional e robótica permite transformar fatos e ideias em “blocos” que podem ser usados para “construir” aplicativos, produtos e invenções. Os 84 anos que temos adiante irão demandar um alto nível de pensamento para enfrentarmos os desafios que nos aguardam. Por que não utilizar “caminhos” que ajudem atingirmos este nível com mais facilidade?
O desejo de criar não é nada novo na história da humanidade. A combinação de corações, mentes e corpos sempre contribuiu para a melhoria do mundo – especialmente após o iluminismo do século XVIII. Mas, me pergunto se estamos nos preparando adequadamente para valorizar nossa criatividade e aumentar nossa possibilidade de criação. Obama está deixando o seu cargo, mas tocou em um ponto fundamental não apenas para americanos, mas para o restante do mundo. Vale a pena ouvir.