10 sementes que fizeram o Scratch crescer - PORVIR
Crédito: MIT/Divulgação

Inovações em Educação

10 sementes que fizeram o Scratch crescer

Neste artigo, Mitchel Resnick, fundador do Scratch, traz a linha do tempo da linguagem de programação que está ao alcance dos estudantes

por Mitchel Resnick ilustração relógio 16 de maio de 2022

Estamos completando 15 anos do lançamento da linguagem de programação e comunidade online Scratch e 20 anos do início do desenvolvimento do Scratch pelo meu grupo de pesquisa, o Lifelong Kindergarten, do MIT Media Lab. O Scratch foi muito além do que imaginamos no começo do projeto. No ano passado, mais de 30 milhões de pessoas do mundo todo programaram e compartilharam histórias, jogos e animações com o Scratch.

Quais foram as primeiras investigações e opções de design que ajudaram o Scratch a ter crescimento e impacto duradouros? Este ano parece ser um bom momento para olhar para trás e refletir sobre o período entre os primeiros dias do Scratch até o seu lançamento, em 2007. Diversas pessoas, atividades e eventos contribuíram para o sucesso do Scratch ao longo dos anos. Aqui, descrevo dez “sementes” que fizeram o Scratch crescer e destaco algumas ideias e interações que nos inspiraram quando começamos a trabalhar nele.

1) Logo e LogoBlocks

Em muitos aspectos, a linguagem de programação Logo foi a inspiração mais importante para o Scratch. Desenvolvido por Seymour Papert, Cynthia Solomon e outros colaboradores, o Logo foi a primeira linguagem de programação desenvolvida especificamente para crianças. Com o Logo, elas conseguiam criar padrões gráficos e ilustrações escrevendo programas para controlar os movimentos de uma “tartaruga” (veja abaixo). O Logo foi baseado na abordagem “construcionista” da aprendizagem de Papert, que enfatiza como é importante as crianças criarem e fazerem coisas baseadas nos interesses delas. Comecei a trabalhar com Papert quando cheguei ao MIT, em 1983, e as ideias dele me influenciaram profundamente.

Conforme os computadores foram incorporados às escolas do ensino primário e secundário na década de 1980, o Logo virou um dos softwares mais difundidos. Mas, na década de 1990, já estava ficando menos popular. Uma questão era que o Logo, como a maioria das linguagens de programação, exigia que as crianças aprendessem regras de pontuação complexas, como onde colocar dois pontos e colchetes. Isso tirava o foco das ideias e objetivos mais importantes da programação.
Falei sobre esse problema com Brian Silverman, na época cientista chefe da Logo Computer Systems Inc., empresa que desenvolveu as versões comerciais mais famosas do Logo. Brian e eu começamos a explorar abordagens gráficas de programação.

Na década anterior, nós tínhamos uma parceria com a empresa LEGO, então era natural usar a metáfora de blocos: as crianças poderiam criar programas de computador com blocos gráficos, assim como construir casas e castelos com blocos físicos de LEGO. Com esses blocos gráficos, as crianças não precisavam aprender regras de pontuação complexas. Em 1995 e 1996, Brian e eu orientamos o trabalho de conclusão de curso de Andy Begel no MIT, no qual ele implementou um protótipo funcional de uma linguagem de programação de blocos para controlar motores e sensores. O protótipo, chamado LogoBlocks, foi testado com crianças e educadores, que o consideraram engajante e fácil de usar. Assim, nós assumimos o compromisso de desenvolver abordagens de programação baseadas em blocos.

Tela Logo Blocks

2) Squeak Etoys

Naquela época, vários outros grupos também estavam trabalhando em linguagens gráficas de programação para crianças, inclusive Alice (do grupo de Randy Pausch, na Universidade Carnegie Mellon, na Pensilvânia) e AgentSheets (do grupo de Alex Repenning, na Universidade do Colorado). O que mais fascinou meu grupo de pesquisa do MIT foi o Squeak Etoys (veja a seguir), desenvolvido pelo grupo de Alan Kay, na Disney. Fomos inspirados pela “vivacidade” do Etoys: as crianças conseguiam alterar os programas enquanto eram executados, então os efeitos eram vistos imediatamente. Ele também permitia que as crianças compartilhassem projetos do Etoys online para ver e aprender com os projetos umas das outras. Também gostamos de como, graças a essa linguagem, ficou mais fácil para as crianças programarem áudio, música e imagens, conectando seus próprios interesses à criação e manipulação de mídias.

Brian Silverman e eu perguntamos a Alan se ele estaria disposto a nos conhecer e pensar em possíveis colaborações. Alan veio para Cambridge em novembro de 2001 e nós três passamos um fim de semana juntos discutindo ideias ao longo de vários encontros no Mary Chung Restaurant. Alan queria ampliar o Etoys adicionando recursos da nossa linguagem de programação StarLogo, uma versão do Logo que permitia simular revoadas de pássaros, engarrafamentos e outros sistemas com muitas partes interativas. No entanto, Brian e eu tínhamos mais interesse em trabalhar em uma linguagem que envolvesse uma gama maior de jovens em ainda mais projetos. Após esse fim de semana, Alan sugeriu que meu grupo de pesquisa do Lifelong Kindergarten do MIT trabalhasse separadamente na nossa própria linguagem de programação, e ele nos encorajou a usar ideias e o código aberto do Etoys sempre que precisássemos. Alan sentiu que aprenderíamos mais trabalhando em projetos separados e trocando ideias e códigos; Brian e eu concordamos com a sugestão dele.

3) Computer Clubhouses

Em janeiro de 2002, dois meses depois do fim de semana com Alan, viajei para a Índia com Natalie Rusk para visitar os primeiros Computer Clubhouses desse país. Uma década antes, eu ajudei Natalie a criar em Boston o primeiro Computer Clubhouse: um centro onde jovens de comunidades de baixa renda, entre 10 e 16 anos, poderiam aprender a expressar a criatividade com novas tecnologias no contraturno escolar. Com o apoio da Intel Foundation, a rede de Clubhouses expandiu para 100 espaços, em 20 países, sempre mantendo o foco em oferecer oportunidades de aprendizagem criativa para jovens de comunidades marginalizadas (veja a seguir as fotos de Clubhouses dos Estados Unidos, Índia, África do Sul e Jordânia, no sentido horário, começando pela imagem no canto superior esquerdo).

Durante as visitas aos Clubhouses, Natalie e eu ficamos encantados com a forma como os jovens trabalhavam em projetos criativos usando ferramentas como o Photoshop. No entanto, as ferramentas de programação não eram muito comuns nos Clubhouses. Não porque os jovens dos Clubhouses não queriam programar; na verdade, eles tinham vontade de trabalhar em muitos projetos que precisavam de programação, como jogos interativos e animações, mas as ferramentas de programação da época eram muito difíceis de aprender ou não tinham os recursos necessários para os projetos que eles queriam criar. Enquanto eu estava na Índia, contei à Natalie sobre minhas conversas com Brian e Alan, e discutimos como a comunidade dos Clubhouses poderia nos ajudar no desenvolvimento de uma nova linguagem de programação. Nós dois estávamos animados para dar o próximo passo no projeto.

4) Decisões iniciais de design

Eu adoro as primeiras etapas de um novo projeto. Existem diversas possibilidades a serem consideradas e grandes decisões a serem tomadas. No começo do Scratch, em 2002, a equipe principal de design era formada por Natalie, Brian, eu e John Maloney, que já havia trabalhado como desenvolvedor líder na equipe do Squeak Etoys. Muitos outros membros do nosso grupo do Lifelong Kindergarten também contribuíram nas primeiras reuniões sobre o design inicial, inclusive os intercambistas Leo Burd (do Brasil) e Oren Zuckerman (de Israel). Usamos uma abordagem bastante iterativa: como nosso desejo era que o Scratch envolvesse os jovens na criação de jogos e animações de forma lúdica e por meio da experimentação livre, adotamos uma abordagem semelhante no desenvolvimento do próprio Scratch, pensando continuamente em novos protótipos, testando, recebendo feedback (retorno avaliativo) de outras pessoas e fazendo alterações com base no que havia sido aprendido. Muitas pessoas contribuíram com ideias e feedback sobre os protótipos, desde alunos do nosso grupo de pesquisa e de cursos do MIT até participantes dos Computer Clubhouses, educadores das nossas redes e muitas outras pessoas.

Uma decisão importante que tivemos que tomar logo no início foi: os jogos e animações do Scratch deveriam ser em 3D ou 2D? Alguns universitários do MIT que estavam trabalhando conosco defenderam muito o 3D. Eles cresceram jogando videogames 3D e achavam que os jovens iam querer trabalhar em 3D e poderiam achar o 2D chato. No entanto, decidimos usar o 2D para o Scratch, porque abriria mais possibilidades para que os jovens criassem seus próprios personagens e cenários, além de importar imagens da Web. Sentimos que os jovens ficariam mais empolgados em trabalhar em projetos com imagens que eles mesmos tivessem criado ou escolhido, mesmo que elas não tivessem um aspecto tão profissional.

Havia várias outras questões: os blocos de programação do Scratch deveriam se conectar na horizontal ou na vertical? Deveria haver uma única área de programação ou uma para cada personagem (ou “ator”)? Como poderíamos programar diferentes ações para acontecerem em paralelo? Como diferentes atores deveriam se comunicar e se organizar? Que tipos de estruturas de dados deveriam ser incluídas? Cada bloco de programação deveria ter uma forma fixa (que chamamos de “teste de acrílico”, porque era como se pudessem ser feitos de um material rígido como o acrílico), ou um bloco poderia mudar de forma à medida que outros blocos fossem adicionados a um programa? Deveria haver uma maneira de incorporar vídeo nos projetos do Scratch? Que ferramentas deveriam ser fornecidas para criar, editar e integrar sons, imagens e outras mídias?

5) Testes práticos

Durante todo o processo de design, fizemos testes práticos (“playtests”) regulares para receber feedback e sugestões. Ou seja, os jovens recebiam os protótipos mais recentes do Scratch e nós víamos como e o que eles criavam, do que gostavam e o que acharam frustrante. Depois, os protótipos eram alterados com base nessas experiências. Nossa vontade era que o Scratch envolvesse jovens de diferentes origens e em diversos contextos (escolas, centros comunitários, bibliotecas, museus e casas). Em especial, nossa prioridade era o envolvimento de jovens de comunidades marginalizadas, que antes não tinham a chance de ter experiências de aprendizagem criativa com novas tecnologias. Por isso, organizamos muitos dos nossos testes práticos em Computer Clubhouses: nossa equipe do MIT fez visitas regulares a Clubhouses em Boston e uma equipe de pesquisadores da UCLA (Universidade da Califórnia), liderada por Yasmin Kafai, colaborou com profissionais e jovens de Clubhouses de Los Angeles.

Alguns dos testes práticos mais memoráveis e gratificantes aconteceram no Clubhouse Teen Summit, um evento bianual em que centenas de jovens de Clubhouses de todo o mundo vêm a Boston por uma semana. O Teen Summit de 2004 (veja as fotos a seguir) foi nosso primeiro grande workshop do Scratch. Jovens de diversos Clubhouses trabalharam juntos para criar animações e jogos. Isso nos deu confiança de que o design do Scratch estava no caminho certo. No Teen Summit de 2006, o Scratch já estava mais avançado e ficamos empolgados em ver como os jovens de Clubhouses do mundo todo incorporavam imagens, músicas e ideias próprias ao Scratch, como um projeto interativo de música e dança baseado na recém-lançada música Chicken Noodle Soup (veja a captura de tela a seguir).

6) Comunidade do Scratch

Desde o início, queríamos que o compartilhamento e a colaboração tivessem um papel central no Scratch. Reconhecemos a importância da interação social no processo de aprendizagem, mas algo que nos preocupava era que a computação (e a programação, em particular) era vista há muito tempo como uma experiência solitária. Para nós, a internet tinha o potencial de oferecer novas oportunidades para que os jovens aprendessem uns com os outros. No entanto, a internet ainda estava engatinhando; o YouTube e o Twitter ainda não existiam, e muitas escolas e lares estavam apenas começando a ter conexão com a internet. Queríamos que o Scratch tivesse suporte para o compartilhamento e a colaboração online, mas não sabíamos a melhor maneira de fazer isso.

Nosso grupo do Lifelong Kindergarten testou algumas opções ao longo dos anos. Então, em 2005, um dos universitários, Andrés Monroy-Hernández, começou a explorar o Flickr, um site de compartilhamento de fotos que tinha acabado de ser lançado. Andrés sugeriu: e se os jovens compartilhassem projetos do Scratch on-line da mesma forma que as pessoas compartilham fotos no Flickr? Essa abordagem pode parecer óbvia hoje em dia, mas, na época, era uma ideia inovadora. Andrés liderou o desenvolvimento do site e da comunidade on-line do Scratch, que, internamente, chamávamos de Scratchr, em referência ao Flickr (veja a seguir).

O Scratch se tornou a primeira linguagem de programação com uma comunidade própria. Nós projetamos o site para que os jovens pudessem baixar, remixar e comentar os projetos uns dos outros. Queríamos que a comunidade servisse como fonte de inspiração e retornos: os jovens poderiam ver o que os outros estavam criando (e pegar partes do código para usar nos seus próprios projetos), além de receber sugestões e incentivos de outras pessoas. De certa forma, a comunidade on-line do Scratch foi nossa tentativa de trazer o espírito criativo, acolhedor e colaborativo dos Computer Clubhouses para o mundo online. Nós estávamos cientes da necessidade de criar uma comunidade amigável e respeitosa, para que os jovens se sentissem confortáveis e seguros para compartilhar e colaborar uns com os outros.

Primeiras versões da comunidade Scratch

7) O Scratch Cat

Quando começamos a trabalhar na nova linguagem de programação em 2002, Oren Zuckerman sugeriu o nome Scratch para passar a ideia do tipo de atividade que nós queríamos incentivar. Assim como os DJs de hip-hop usam uma técnica chamada “scratch” para produzir sons a partir de outras mídias (produzir sons ao “arranhar” o disco de vinil para frente e para trás repetidas vezes), queríamos que o Scratch permitisse que os jovens pudessem remixar mídias variadas de maneira criativa. Por isso, imaginamos um espaço em que os jovens não começariam do zero (como a expressão “from scratch” do inglês, que por vezes é erroneamente associada ao nome do programa, faz pensar), mas um espaço em que pudessem criar a partir de trabalhos criados por outras pessoas e por eles próprios.

Nos primeiros protótipos do Scratch, usamos como personagem padrão a imagem de um gato visto de cima para baixo. Um dos motivos que nos levou a eleger o gato é que eles gostam de arranhar (em inglês, “scratch”); e a visão de cima para baixo foi baseada na linguagem de programação Logo, que usava a imagem de uma tartaruga vista de cima para baixo. Na programação com Logo, as crianças controlavam os movimentos da tartaruga para desenhar padrões geométricos na tela, mas nosso plano para o Scratch era diferente: queríamos que as pessoas usassem o Scratch para criar histórias animadas, então uma visão lateral fazia mais sentido do que uma de cima para baixo. Contratamos um designer local, Wing Ngan, para fazer alguns esboços.

Esboço do gato do Scratch
Crédito: Divulgação/MIT Esboços do Scratch Cat

Em princípio, pedimos para Wing criar um personagem de fantasia. Gostamos de alguns dos personagens que ele já tinha criado (veja abaixo, à esquerda), mas decidimos que seria melhor usar um animal conhecido, então pedimos para ele desenhar gatos (veja os esboços abaixo, no centro). Depois de vários rascunhos, chegamos à versão final do Scratch Cat (abaixo, à direita). Decidimos não dar um nome para ele, porque a ideia era que as crianças se sentissem à vontade para apagá-lo e usar personagens diferentes (ou “atores”) nos projetos. Adicionamos o personagem de fantasia anterior à biblioteca de sprites (com o nome Gobo), e ele se tornou um dos atores mais populares da biblioteca.

8) Projetos de amostra

Sabíamos que os projetos de amostra teriam um papel importante quando o Scratch fosse lançado. A maioria dos jovens nunca tinha programado antes, então não sabiam o que poderiam criar com o Scratch. Sentimos que projetos de amostra seriam uma fonte importante de inspiração, porque dariam aos jovens uma noção do que é possível fazer. Além disso, vimos que muitos preferem aprender novas habilidades e técnicas por meio da exploração de exemplos em vez da exposição a lições ou tutoriais. Queríamos oferecer uma grande variedade de projetos de amostra, para que jovens com diversos interesses e origens conseguissem se identificar com as possíveis maneiras de criar com o Scratch.

Graças à criatividade incrível dos estudantes de pós-graduação e pesquisadores do nosso grupo Lifelong Kindergarten, montamos um conjunto inicial de projetos de amostra que destacava a gama de possibilidades do Scratch. À medida que mais jovens começaram a usar o Scratch, adicionamos alguns dos projetos deles como amostra, inclusive uma história de aventura interativa criada por uma menina da Alemanha e um cachorro virtual criado por uma menina de Cingapura (veja a seguir). Organizamos os projetos de amostra por tema: animação, jogos, cartões comemorativos, arte interativa, música e dança, simulações, opinião e histórias. Ao longo dos anos, muitos jovens disseram que esses projetos de amostra ajudaram a dar o primeiro passo com o Scratch.

9) O lançamento

Quando agendamos o lançamento oficial do Scratch para 14 de maio de 2007, não sabíamos muito bem o que esperar. Os testes práticos nos deixaram otimistas, mas será que os jovens acessariam nosso site? (E, mais importante, será que eles se engajariam?). Desde o início, tínhamos o compromisso de oferecer o Scratch gratuitamente, para que o custo não fosse um obstáculo. Mas será que os jovens, pais e educadores achariam que valia a pena passar tempo nele?

Um jornalista da BBC News da Inglaterra nos visitou na semana anterior ao lançamento e disse que ia publicar uma matéria sobre o Scratch no dia 14 de maio. Abrimos o site na noite do dia 13, para que estivesse pronto quando o artigo da BBC News fosse publicado no dia seguinte. Vimos o tráfego do site aumentar gradualmente por algumas horas e tudo estava funcionando bem. Então fomos dormir bastante felizes… até a manhã seguinte.

Acordei por volta das 5h (10h em Londres) e vi que o site do Scratch estava fora do ar. O artigo da BBC News tinha sido postado e outros sites estavam criando links para ele, causando um aumento no tráfego que nossos servidores não conseguiam processar. Foi um exemplo do que algumas pessoas chamam de Efeito Slashdot: publicidade online que causa uma sobrecarga dos servidores. Entrei em contato com o Andrés e fomos ao Media Lab logo cedo para resolver a questão dos servidores. Felizmente, Andrés conseguiu alterar a configuração do servidor e o site voltou a funcionar, mas tivemos que continuar melhorando nossa infraestrutura de servidor ao longo do tempo, porque o tráfego do site continuou aumentando.

Na semana seguinte, todos nós da equipe do Scratch no MIT (veja a seguir) passamos horas monitorando a atividade no site do Scratch e adicionando comentários e sugestões a novos projetos, para dar um tom solidário e acolhedor para a comunidade on-line. Ficamos encantados com a diversidade e criatividade dos projetos que os jovens de todo o mundo estavam criando e compartilhando no Scratch, além da forma como eles estavam remixando e comentando os projetos uns dos outros. A equipe passou os cinco anos anteriores se esforçando no conceito, design e desenvolvimento do Scratch, então foi maravilhoso ver nossa criação incentivando a liberdade criativa dos jovens.

Alguns dos integrantes do time que desenvolveu o Scratch, em foto de 2007: Robbie Berg, Leo Burd, Nick Bushak, Margarita Dekoli, Rachel Garber, Chris Garrity, John Maloney, Paul Medlock-Walton, Amon Miller, Andrés Monroy-Hernández, Mitchel Resnick, Eric Rosenbaum, Natalie Rusk, Jay Silver, Tammy Stern, Oren Zuckerman

10) Mais e mais sementes

Nos anos subsequentes ao lançamento, surgiram muito mais sementes, inclusive duas novas gerações do Scratch (em 2013 e 2019), um aplicativo complementar para crianças pequenas (ScratchJr), uma ampla variedade de recursos e eventos para apoiar e envolver jovens, famílias e educadores (como, Scratch Cards, ScratchEd, Scratch Conferences e o Scratch Day) e um grupo incrível de profissionais criativos e financiadores generosos. Para apoiar e sustentar o crescimento contínuo do Scratch, a equipe saiu do MIT no final de 2019 e foi para uma organização sem fins lucrativos separada: a Scratch Foundation.

Desde o lançamento, em 2007, a atividade anual no site Scratch aumentou em 250 vezes, com um crescimento médio de 45% ao ano. No entanto, a missão e a visão do Scratch continuam sendo as mesas: oferecer aos jovens ferramentas digitais e oportunidades para imaginar, criar, compartilhar, aprender e, por meio dessas atividades, disseminar abordagens criativas, acolhedoras, colaborativas e equitativas de programação e aprendizagem ao redor do mundo. Quando olhamos para o passado, vemos que os primeiros cinco anos do Scratch, de 2002 a 2007, serão sempre uma época muito especial. Mas estou confiante de que haverá muito mais sementes no futuro para que o Scratch continue oferecendo mais oportunidades de aprendizagem criativa para jovens de todo o mundo.


TAGS

educação infantil, educação mão na massa, ensino fundamental, ensino médio, programação, scratch

Cadastre-se para receber notificações
Tipo de notificação
guest

1 Comentário
Mais antigos
Mais recentes Mais votados
Comentários dentro do conteúdo
Ver todos comentários
Canal do Porvir no WhatsApp: notícias sobre educação e inovação sempre ao seu alcanceInscreva-se
1
0
É a sua vez de comentar!x