10
Aprender com Scratch José M. Vasconcelos [email protected] Universidade Católica Portuguesa, Centro Regional de Braga, Faculdade de Ciências Sociais Braga, Portugal Resumo. Muitos dos jovens com acesso às tecnologias de informação intervêm na sociedade do conhecimento mais como consumidores, que produtores ou criadores. Paralelamente à disponibilização de recursos informáticos é necessário implementar uma interligação adequada à sua utilização, numa perspectiva de aprendizagem. Este paradigma motivou o estudo da ferramenta Scratch, cujas características assentam num modelo para a melhoria e contribuição do processo de ensino-aprendizagem bem como, na promoção de ideias computacionais entre os mais jovens, no estímulo ao desenvolvimento criativo, raciocínio científico, lógico e matemático. Pela versatilidade desta ferramenta é útil aprofundar a sua utilização em ambientes de aprendizagem que implique um papel activo e criativo do aluno. Palavras-chave: Scratch; programação; crianças e jovens; ensino- aprendizagem; pensamento criativo; jogos. 1 Introdução Com a introdução dos computadores pessoais no final da década de 70 e princípio dos anos 80, assistiu-se a um entusiasmo na implementação de linguagens de programação destinada ao ensino de crianças e jovens. Escolas e Universidades ensinaram alunos a criar programas simples em Logo, Basic ou C. Nos últimos anos, apesar dos computadores serem uma presença difundida na vida de crianças e jovens, poucas aprendem a programar. Aliás, a maioria vê a programação de computadores como uma actividade técnica muito restrita, aplicada somente a um pequeno segmento da população. Assim sendo, o que aconteceu objectivamente ao entusiasmo inicial no ensino da programação? Por que razão o Logo e outras iniciativas idênticas não tiveram sucesso? Os factores apontados para estas questões são os seguintes (Resnick et al): Inicialmente as linguagens de programação eram muito difíceis de usar, com particular relevo para o domínio da sintaxe; A programação foi muitas vezes introduzida com actividades desligadas dos interesses ou experiências dos alunos; Falta de orientação, onde poucos tinham a experiência necessária para ensinar crianças e jovens a programar.

scratch

Embed Size (px)

DESCRIPTION

Aprender com Scratch

Citation preview

Page 1: scratch

Aprender com Scratch

José M. Vasconcelos

[email protected] Universidade Católica Portuguesa, Centro Regional de Braga, Faculdade de Ciências Sociais

Braga, Portugal

Resumo. Muitos dos jovens com acesso às tecnologias de informação intervêm na sociedade do conhecimento mais como consumidores, que produtores ou criadores. Paralelamente à disponibilização de recursos informáticos é necessário implementar uma interligação adequada à sua utilização, numa perspectiva de aprendizagem. Este paradigma motivou o estudo da ferramenta Scratch, cujas características assentam num modelo para a melhoria e contribuição do processo de ensino-aprendizagem bem como, na promoção de ideias computacionais entre os mais jovens, no estímulo ao desenvolvimento criativo, raciocínio científico, lógico e matemático. Pela versatilidade desta ferramenta é útil aprofundar a sua utilização em ambientes de aprendizagem que implique um papel activo e criativo do aluno.

Palavras-chave: Scratch; programação; crianças e jovens; ensino-aprendizagem; pensamento criativo; jogos.

1 Introdução Com a introdução dos computadores pessoais no final da década de 70 e princípio dos anos 80, assistiu-se a um entusiasmo na implementação de linguagens de programação destinada ao ensino de crianças e jovens. Escolas e Universidades ensinaram alunos a criar programas simples em Logo, Basic ou C. Nos últimos anos, apesar dos computadores serem uma presença difundida na vida de crianças e jovens, poucas aprendem a programar. Aliás, a maioria vê a programação de computadores como uma actividade técnica muito restrita, aplicada somente a um pequeno segmento da população. Assim sendo, o que aconteceu objectivamente ao entusiasmo inicial no ensino da programação? Por que razão o Logo e outras iniciativas idênticas não tiveram sucesso? Os factores apontados para estas questões são os seguintes (Resnick et al):

─ Inicialmente as linguagens de programação eram muito difíceis de usar, com particular relevo para o domínio da sintaxe;

─ A programação foi muitas vezes introduzida com actividades desligadas dos interesses ou experiências dos alunos;

─ Falta de orientação, onde poucos tinham a experiência necessária para ensinar crianças e jovens a programar.

Page 2: scratch

2 José M. Vasconcelos

Como resultado de um trabalho de investigação, o Massachusetts Institute of Technology (MIT) produziu uma linguagem de programação em ambiente gráfico designada de “Scratch”. Se, por um lado, as novas tecnologias aceleram as mudanças, imergindo a necessidade do pensamento criativo, por outro, se bem concebidas e usadas, têm o potencial de ajudar no desenvolvimento desse pensamento criativo (Resnick, 2007). O scratch, integrado num ambiente construcionista dá evidência à expressão pessoal e criativa como factor chave para estimular a aprendizagem. Paralelamente a este contexto, onde o aluno adopta o papel de criador de recursos, colocam-se algumas questões relacionadas com o processo de ensino-aprendizagem:

─ Que novos desafios enfrentam actualmente os alunos e professores? ─ Como perspectivar a utilização desta ferramenta em contexto escolar? ─ Devemos utilizar o computador como mediador no processo de ensino-

aprendizagem? ─ Que tipo de actividades e projectos propor?

Como resposta às questões formuladas, este artigo, para além da introdução, encontra-se estruturado com as seguintes secções:

─ Scratch – ferramenta gráfica inovadora, permite exercitar a criatividade, o raciocínio científico, lógico e matemático, a criação de histórias interactivas, animações, jogos, músicas e a partilha dessas criações na Internet (Monroy-Hernández & Resnick, 2008);

─ Programação com Scratch – inspirada nas linguagens Logo e Squeak (Etoys), tem como objectivo, ser mais simples, fácil de utilizar e mais intuitiva;

─ Scratch e Aprendizagem – Através da curiosidade e estímulo das crianças e jovens, o Scratch pode funcionar como um meio capaz de gerar, em diversos contextos, actividades de aprendizagem muito enriquecedoras;

─ Conclusão – o Scratch assume-se como uma ferramenta capaz de desenvolver a criatividade e o espírito crítico dos alunos, e consequentemente gerar actividades enriquecedoras em contexto escolar.

2 Scratch Nos últimos anos, introduziram-se algumas tentativas na implementação de novas linguagens de programação destinadas especificamente a crianças e jovens. Algumas, de uso profissional, como o Flash/ActionScript, ou outras como Alice (ambiente de programação 3D) e Squeak (inspirado no Logo, PARC-Smalltalk, Hypercard, e StarLogo). O trabalho de investigação e aperfeiçoamento das linguagens/ambientes de programação para jovens, desenvolvido no Lifelong Kindergarten research group no MIT Media Lab, coordenado por Michel Resnick, em colaboração com o grupo de Kafai Yasmin UCLA (University of California, Los Angeles), produziu a ferramenta de aprendizagem Scratch - inspirada na linguagem de programação Logo e Squeak Etoys, caracteriza-se por um ambiente gráfico de programação inovador, permite trabalhar cooperativamente, possibilita a criação de histórias interactivas e lúdicas, animações, simulações, jogos, músicas e a partilha dessas criações na Web (Maloney et al, 2004). O nome "Scratch" resulta da técnica de “scratching” utilizada por DJ’s que através de “mixes” misturam clipes de música de forma criativa e original com

Page 3: scratch

Aprender com Scratch 3

intenção de produzir novas músicas. Com o Scratch é possível criar personagens que dançam, cantam e interagem umas com as outras. Ou criar imagens que rodopiam, giram ou se animam como resposta aos movimentos do rato. Ou integrar imagens com efeitos de som e clips musicais para criar um cartão interactivo de aniversário para um amigo, ou para criar um relatório interactivo para apresentar na escola (http://scratch.mit.edu). Permite de uma forma bastante intuitiva, a construção de situações de aprendizagem nas quais os jovens podem exprimir livremente a sua criatividade e, simultaneamente, desenvolver o seu raciocínio lógico, pois têm que encontrar uma forma de programar o computador (comunicar com ele de forma lógica e resolver problemas) para criar o projecto que pretendem desenvolver.

O Scratch, cujo slogan é: “imagina, programa e partilha” foi concebido e desenvolvido como resposta ao problema do crescente distanciamento entre a evolução tecnológica no mundo e a fluência tecnológica dos cidadãos. Foi pensado, igualmente, para promover um contexto construcionista (o aluno constrói algo do seu interesse,

tornando a aprendizagem mais significativa) propício ao desenvolvimento da fluência tecnológica nos jovens, desde muito cedo, e das competências transversais para o século XXI, nomeadamente na resolução de problemas. Os seus autores pensam que poderá, ainda, permitir avançar na compreensão da eficácia e inovação do uso das tecnologias nos processos de aprendizagem em diferentes áreas, de forma mais específica na educação matemática formal e informal (pela própria natureza do ambiente), incentivar a criação e invenção (para que os jovens não sejam apenas consumidores de tecnologia) e estimular a aprendizagem cooperativa (http://eduscratch.dgidc.min-edu.pt/). O desenvolvimento da linguagem de programação Scratch tem sido fortemente associado ao desenvolvimento do website (http://scratch.mit.edu) que constitui uma rede colaborativa de criadores, promovendo a construção colectiva e aumento do conhecimento. Lançado em Maio de 2007, tornou-se numa forte comunidade online, com mais de 350.000 membros registados partilhando, discutindo e alterando projectos uns dos outros. Diariamente, os membros da comunidade Scratch (principalmente com idade compreendida entre 8 e 15 anos) carregam para o site cerca de 1.500 novos projectos. Em geral, os membros da comunidade contribuíram com mais de 500.000 projectos para o site (Resnick et al). Resumo histórico de implementações do Scratch:

─ Primeiro protótipo, Scratch 0.1, teve início em Janeiro de 2003 tendo sido posteriormente testado em Outubro de 2003 por alunos de um curso sobre o uso da tecnologia na aprendizagem informal em contextos educativos de Harvard e MIT (Maloney et al, 2004);

─ Versão 1.1 foi partilhada publicamente na Internet dia 15 de Maio de 2007; ─ Versão 1.2 disponibilizada dia 31 de Outubro de 2007; ─ Versão 1.2.1 disponibilizada dia 7 de Dezembro de 2007; ─ Actualmente a versão disponível é a 1.4, prevendo-se em 2012 o lançamento da

versão Scratch 2.0.

Page 4: scratch

4 José M. Vasconcelos

A interface gráfica do Scratch foi concebida tendo como princípio a experimentação, não sendo necessário digitar código para programar, eliminando desta forma, os habituais erros de sintaxe. A ferramenta detém vários comandos que são disponibilizados em forma de blocos-de-construção. O ambiente de trabalho do Scratch divide-se em quatro grandes áreas:

─ Á direita encontra-se o palco, onde vai decorrer a acção; ─ Por baixo do palco encontra-se a área onde se podem ver os thumbnails de todos

os sprites (objectos/personagens) de um projecto; ─ Na coluna ao meio é a área para visualizar e alterar os comandos, trajes e o som

do sprite seleccionado; ─ Na coluna da esquerda encontra-se os blocos com comandos divididos em oito

categorias com um código de cores, em que cada uma representa um comando: movimento, controle, aparência, sensores, som, números, caneta, e variáveis.

Fig. 1. Ambiente de Programação do Scratch1

2.1 Porquê Programar?

Observa-se actualmente, que as tecnologias de informação e comunicação - TIC estão cada vez mais acessíveis a crianças e jovens. Aliado a este facto, está também a simplicidade com que as crianças desde muito cedo as manipulam, permitindo olhar para esta geração de forma diferente das crianças de gerações que as antecederam. Tornou-se comum, afirmar que as crianças e jovens são considerados "nativos digitais", devido sobretudo à sua aparente fluência para com as tecnologias digitais. De facto, muitas, estão bastante confortáveis, por exemplo, no envio de sms’s, a 1 1 - Palco onde os objectos são colocados e onde é possível ver o resultado da programação

criada; 2 - Área de edição e conexão de scripts; 3- Iniciar ou Parar o Script; 4 - Editar o objecto seleccionado; 5 - Separador para Comandos, Trajes e Sons; 6 - Blocos de comandos; 7 - Categorias de comandos (movimento, controlo, aparência, sensores, som, números, caneta e variáveis); 8 - Área dos objectos usados na animação; Edição do objecto seleccionado.

Page 5: scratch

Aprender com Scratch 5

navegar na web, ou em ambientes online de redes sociais e jogos. No entanto, a perspectiva da espontaneidade digital não reside apenas nestas competências, mas também na capacidade de projectar, criar e inventar com as novas tecnologias disponíveis. Aprender a programar permite aos alunos expressarem-se de forma mais completa e criativa, ajuda-os a desenvolver o pensamento/raciocínio lógico bem como, compreender melhor o funcionamento das novas tecnologias que encontrarão por todo o lado no seu quotidiano (Resnick).

2.2 Scratch em Portugal

Em Portugal foi criado um portal, resultado de uma parceria entre a Portugal Telecom e o MIT. "Scratch.ando com o sapo" é uma iniciativa dinamizada pela Universidade de Aveiro e pelo portal Sapo, através do laboratório do Sapo na UA. O Scratch tem interessado também investigadores portugueses como António Sorte Pinto (2010) que, na Universidade do Minho, trabalhou no âmbito da resolução de problemas no estudo da Matemática. Ao nível da presença na Web, o projecto Sapo Scratch (kids.sapo.pt/scratch/) iniciativa apoiada pelo principal fornecedor de serviços Web em Portugal é a referência mais visível da importância que se vem a dar à programação de computadores na infância. Entretanto, no ano lectivo 2010/2011 nasceu o projecto EduScratch a partir de um protocolo entre a PT e o Ministério da Educação, rentabilizando-se a utilização de todos os recursos já produzidos para o portal ScratchSAPO. A parceria envolve a Equipa de Recursos e Tecnologias Educativas - ERTE/PTE, Direcção Geral de Inovação e de Desenvolvimento Curricular - DGIDC, Centro de Competência em TIC – CCTIC, Escola Superior de Educação do Instituto Politécnico de Setúbal - ESE/IPS e SAPO KIDS. Este grupo tem como objectivo promover a utilização do Scratch em ambiente escolar. Pretende‐se com o seu desenvolvimento divulgar e apoiar a utilização do Scratch, bem como incentivar à sua utilização através da formação e da partilha.

3 Programação com Scratch O conceito de programação em Scratch caracteriza-se, por uma metodologia semelhante a peças de legos com comandos, que encaixam mecanicamente para produzir um determinado efeito. A sintaxe do Scratch é baseado em "blocos de programação" que se encaixam para criar programas. As “peças” têm conectores que sugerem a forma como devem ser colocados. A ferramenta não produz erros de sintaxe, permitindo por isso, uma integração fácil no ambiente gráfico de programação. O Scratch foi escrito em Squeak, uma implementação open-source da linguagem Smalltalk-80. O código fonte poderá ser explorado usando o browser e outras ferramentas inseridas do ambiente de programação Squeak.

3.1 Competências e conceitos de programação explorados no Scratch

Através da concepção de projectos e na resolução de problemas, é necessário ter presente um conjunto de competências implícitas à programação, nomeadamente:

Page 6: scratch

6 José M. Vasconcelos

─ Raciocínio lógico; identificação e eliminação de erros; desenvolvimento de ideias, desde a concepção até à concretização do projecto; concentração e perseverança (http://scratch.mit.edu).

A seguir, são apresentados os conceitos específicos de programação com Scratch.

Conceito / Exemplo Descrição Sequência

Para criar um programa Scratch é preciso pensar de forma sistemática na ordem de execução das instruções.

Iteração (ciclos)

repete e para sempre - podem usar-se para repetir um bloco de instruções.

Instruções condicionais

se e se...senão - verificam a ocorrência de uma condição.

Variáveis

A categoria Variáveis permite a criação de uma nova variável e a sua utilização num programa. As variáveis podem conter números ou sequências de caracteres (texto). O Scratch permite a definição de variáveis globais e locais.

Listas (Arrays)

Os comandos relativos a listas permitem armazenar e aceder a conjuntos ordenados de números e texto. São estruturas de dados dinâmicos sobre as quais é possível efectuar operações de adição, enumeração, substituição e remoção de elementos.

Gestão de Eventos

quando a tecla for premida e quando clicar em sprite são exemplos de gestão de eventos – resposta a eventos despoletados pelo utilizador ou por outra secção de um programa.

Execução Paralela

Lançar dois blocos de comandos ao mesmo tempo cria dois fluxos independentes que são executados em paralelo.

Coordenação e Sincronização (1)

anuncia e quando receber - permite coordenar a execução de múltiplos blocos de comandos; anuncia e espera possibilita a sincronização de execução.

Page 7: scratch

Aprender com Scratch 7

Conceito / Exemplo Descrição

(2)

(1) Por exemplo, Sprite1 envia a mensagem “victória” quando a condição é verificada. (2) Este bloco de comandos do Sprite2 é accionado quando a mensagem “victória” é recebida.

Entrada de dados via teclado

pergunta e espera - solicita ao utilizador que escreva; resposta armazena o que foi escrito no teclado.

Números aleatórios

O bloco sorteia número escolhe números inteiros aleatoriamente dentro de uma certo intervalo.

Lógica boleana

e, ou e não são exemplos de lógica boleana.

Interacção em tempo real

x do rato, y do rato e volume do som podem ser usados dinamicamente para interacção em tempo real.

Desenho de interface do utilizador

No Scratch é possível desenhar interfaces de utilizador interactivas – por exemplo usando sprites clicáveis para criar botões.

Conceitos de programação actualmente não introduzidos no Scratch (http://scratch.mit.edu):

─ Procedimentos e funções; gestão de excepções; passagem de parâmetros e retorno de valores; definição de classes de objectos; recursividade; herança; leitura e escrita em ficheiro.

4 Scratch e Aprendizagem Conforme referido anteriormente, a ferramenta de aprendizagem Scratch permite estimular a motivação pessoal, sobretudo através do desenvolvimento de projectos pessoais focados em diferentes domínios de aprendizagem. Uma característica desta aplicação é a diversidade na implementação de projectos (histórias, jogos, animações, simulações), permitindo que os jovens definam os seus projectos enquadrados na área de interesse. Por outro lado, é associado à liberdade na criação (associada a programas abertos e sem limitações do software), comunicação, partilha, colaboração e aprendizagem de conceitos escolares e não escolarizados. Aprender concebendo (Learning by designing) - O Scratch foi construído com bases pedagógicas inspiradas no construtivismo de Piaget e Papert. Encara a aprendizagem como um processo muito dinâmico, no qual as pessoas constroem continuadamente

Page 8: scratch

8 José M. Vasconcelos

novo conhecimento a partir das suas experiências no mundo. A teoria construtivista encara a aprendizagem como um processo dinâmico no qual os alunos constroem o seu próprio conhecimento ao interagir com o mundo. O papel dos professores não é o de impor etapas, procedimentos ou estruturas rígidas, mas pelo contrário devem assumir o papel de arquitectos dos ambientes educativos que facilitem o processo pelo qual os estudantes sejam capazes de construir o seu próprio conhecimento. A abordagem construcionista da educação, desenvolvida pelo Professor Seymour Papert do MIT, baseia-se em dois tipos de construção: o argumento é que as pessoas constroem conhecimento novo especialmente quando se envolvem na construção de projectos. Podem construir castelos com areia, máquinas com peças de LEGO ou programas de computador. O que é importante é que estejam dinamicamente envolvidas e comprometidas na criação de algo com significado pessoal, ou para outros à sua volta. Cada vez mais os professores reconhecem que a abordagem pura através da transmissão de informação não funciona muito bem. A investigação tem demonstrado que as pessoas aprendem melhor (interiorizam) não quando estão passivamente a receber informação, mas sim quando estão envolvidas dinamicamente, explorando, experimentando e expressando-se (Resnick). Uma comunicação eficaz nos dias de hoje exige mais do que a capacidade de ler e de escrever um texto. O Scratch envolve os jovens na escolha, manipulação e integração de uma variedade de meios, a fim de se expressarem de forma criativa e persuasiva (21st century learning skills). Com a criação de programas em Scratch, está intrínseca a aprendizagem de conceitos fundamentais computacionais, como iteração e condicionais que estão agregados à experiência de programar. Por outro lado, desenvolvem em contexto significativo e motivador, a compreensão de importantes conceitos matemáticos, como os de coordenada, variável e números aleatórios. Quando os alunos aprendem variáveis no contexto do Scratch, podem imediatamente usá-las de forma muito significativa e compreensiva, por exemplo: para controlar a velocidade de uma animação, ou para registar a pontuação num jogo que estejam a criar. Outra característica importante está directamente relacionada com processo de aprendizagem inerente à concepção (design).

Tipicamente, o aluno começa por ter uma ideia, cria um projecto como base do trabalho, experimenta-o, corrige os erros (bugs), recebe a reacção (feedback) de terceiros, revê e redesenha o projecto.

Fig. 2. Processo de criação (fonte: Life long Kindergarden Group, MIT Media Lab)

Para se ser fluente na tecnologia digital, é preciso aprender/criar e não apenas interagir com o computador. Pensar criativamente, comunicar com clareza, analisar de forma sistemática, colaborar eficazmente, conceber iterativamente (designing iteratively), aprender de forma permanente e contínua no tempo, são algumas das competências de aprendizagem para o séc. XXI (Rush et al).

Page 9: scratch

Aprender com Scratch 9

5 Conclusões Há cerca de três décadas atrás, Papert, no seu livro Mindstorms – Children, Computers and Powerful Ideas, escrevia que a criança é que deve aprender a programar o computador de modo a sentir domínio sobre a tecnologia e estabelecer contacto com as ideias mais profundas da ciência (Papert, 1980). Segundo Resnick (2007a), os alunos de hoje crescem num mundo que é muito diferente do mundo dos seus pais e avós. Para ter sucesso na sociedade criativa de hoje, devem aprender a pensar criativamente, planear sistematicamente, analisar criticamente, trabalhar de forma colaborativa, comunicar de forma clara, projectar de forma iterativa e aprender continuamente. Infelizmente, hoje, o nível de utilização das tecnologias nas escolas não suportam estas competências de aprendizagem do século XXI. Em muitos casos, as novas tecnologias estão simplesmente a reforçar velhas formas de ensinar e aprender. As crianças e os jovens devem desempenhar um papel central na transição para a sociedade criativa. Para que estes objectivos possam ser atingidos é necessário novas abordagens no ensino e aprendizagem, bem como, novas tecnologias. É necessário repensar a forma como as pessoas aprendem. É fundamental reorganizar as salas de aula. Em vez de um modelo de controlo centralizado (com um professor a transmitir informações), devemos ter uma abordagem mais empresarial para a aprendizagem onde os alunos se tornem mais activos e com uma aprendizagem mais independente, com o professor a actuar como mediador. Na mesma linha de pensamento, Resnick, refere a necessidade de repensar o que as pessoas aprendem. Nas escolas de hoje, a aprendizagem é projectada para a era do papel e lápis. É necessário actualizar o currículo para a era digital. As escolas devem preparar os alunos com novas competências e ideias necessárias para viver e trabalhar numa sociedade digital. Algumas dessas ideias estão agora acessíveis através do uso criativo das novas tecnologias digitais. É importante, transformar os currículos para que se concentrem menos em "coisas a saber" e mais em "estratégias para aprender as coisas que não conhecemos". Como conclusão final, é importante considerar a ferramenta scratch como geradora de um poderoso contributo para o desenvolvimento educacional das novas gerações suportado no acesso a novas tecnologias. O Scratch enriquece o pensamento crítico dos alunos, ajuda-os a desenvolver a fluência tecnológica e o trabalho cooperativo alicerçado pelas ligações virtuais resultantes da publicação dos projectos. Esta construção de projectos interactivos proporciona, às crianças e jovens uma porta de entrada na cultura digital não apenas como consumidores, mas também como produtores e construtores. O Scratch é uma plataforma única que dá acesso a crianças e jovens o poder de uma inteligência colectiva (Monroy-Hernández & Resnick, 2008).

6 Referências Bibliografias Information Technology Report: Readiness for the Networked World - Rethinking Learning in the Digital Age (pp. 32-37). Oxford: Oxford University Press. http://llk.media.mit.edu/papers/mres-wef.pdf.

Page 10: scratch

10 José M. Vasconcelos

Maloney, J., Burd, L., Kafai, Y., Rusk, N., Silverman, B., and Resnick, M. (2004). Scratch: A Sneak Preview. Paper presented at the Second International Conference on Creating, Connecting, and Collaborating through Computing, Kyoto, Japan. http://llk.media.mit.edu/projects/scratch/ScratchSneakPreview.pdf

Monroy-Hernández, A. and Resnick, M. (2008). Empowering kids to create and shareprogrammable media. Interactions, March-April 2008 (pp. 50-53). http://www.mit.edu/~amonroy/papers/interactions.pdf.

Pinto, A. S. (2010). Scratch na aprendizagem da Matemática no 1.º Ciclo do Ensino Básico: estudo de caso na resolução de problemas. (Tese de Mestrado), Universidade do Minho, Braga.

Papert, S. (1980). Mindstorms – Chidren, Computers and Powerful Ideas. New York: Basic Books.

Resnick, M., Maloney, J., Monroy Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., Kafa, Y., Scratch Programming for everyone. http://scratch.wiki.hoover.k12.al.us/file/view/scratch-cacm.pdf

Rusk, N., Resnick, M. and Maloney, J. Lifelong Kindergarten Group, MIT Media Laborator, http://llk.media.mit.edu/projects/scratch/papers/Scratch-21stCenturySkills.pdf.

Resnick, M. (2007a). Sowing the Seeds for a more creative society. Learning and Leading with Technology, International Society for Technology in Education (ISTE), December/January 2007-08 (pp. 18-22).

Resnick, M. (2002). Rethinking Learning in the Digital Age. In The Global Information Technology Report: Readiness for the Networked World, edited by G. Kirkman. Oxford University Press.

Resnick, M. Learning by Designing - Publications | MIT Media Lab - MIT http://llk.media.mit.edu/projects/clubhouse/research/handouts/design-v6.pdf.

Resnick, M. (2007a). Sowing the Seeds for a more creative society. Learning and Leading with Technology, International Society for Technology in Education (ISTE), December/January 2007-08 (pp. 18-22). http://web.media.mit.edu/~mres/papers/Learning-Leading-final.pdf.

Scratch 2.0: Cultivating Creativity and Collaboration in the Cloud . Proposal to the National Science Foundation, 2010 (project funded 2010-2013) http://web.media.mit.edu/~mres/proposals/Scratch-CreativeIT.pdf.