IPVC”
Vítor Manuel Ferreira
[email protected] Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Viana do Castelo
Bruna Luísa Pintor Alves
[email protected] Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Viana do Castelo
Resumo – Com este projeto de investigação, designado “Code Club IPVC”, pretendeu-se planear, documentar e testar no terreno um conjunto finito de sessões de formação recorrendo à plataforma “Code Club”. Todo o planeamento foi pensado para ser concretizado em 4 sessões presenciais a crianças entre os 7 e 13 anos com uma duração máxima de uma hora por sessão. Com este artigo pretende-se descrever toda a metodologia seguida para a criação de uma academia de programação Júnior em Portugal, mais especificamente no campus do Instituto Politécnico de Viana do Castelo (IPVC), tendo por base a iniciativa “Code Club” implementada no Reino Unido. A falta de recursos disponíveis em português de Portugal, tendo em linha de conta que o público-alvo são crianças, foi o principal problema identificado e que se pretendeu aqui colmatar. No entanto, outras dificuldades foram sentidas e que foram objeto de reflexão neste artigo.
Palavras- chave: “Code Club”, Programação Júnior, “Computational-thinking”.
Introdução
“... all children should have the opportunity to learn to code, no matter who they are or where they come from.”
Raspberry Pi Foundation (2012a)
De acordo com Quinlan (2015), no Reino Unido “... many young people who want to get involved in digital making lack the opportunity to do so”. Por conseguinte, uma iniciativa designada por “Code Club” foi criada em 2012 no Reino Unido para resolver este problema e garantir que “... there is a Code Club in every community in the UK and, ultimately, across the world” (Raspberry Pi Foundation, 2015).
O que começou por ser uma iniciativa para resolver um problema no Reino Unido depressa tomou proporções planetárias e desde novembro de 2015 que o “Code Club” é inteiramente subsidiado pela fundação Raspberry Pi, visando como principal objetivo a criação de um “... Code Club in every community in the world” (Raspberry Pi Foundation, 2012a) tendo a consciência de que é “... a big task “mas defendendo que “... every child should have the opportunity to learn to code, regardless of their background or circumstances!”
É precisamente neste contexto que este projeto de investigação de final de curso se insere, realizado ao longo do 3º semestre do Curso Técnico Superior Profissional (CTeSP) em Sistemas Electrónicos e de Computadores (SEC) na Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Viana do Castelo.
Assim sendo, com este projeto - designado por “Code Club IPVC” - pretendeu-se Planear, Documentar e Testar no terreno um conjunto finito de sessões de formação (talvez 4/5) onde cada sessão deverá ser cuidadosamente planeada/preparada e previamente testada tendo em linha de conta:
(1) as linhas orientadoras do projecto “Code Club”,
(2) os materiais disponibilizados pelo mesmo mas recompilados/traduzidos para Português de Portugal tendo como população alvo crianças entre os 7 e os 13 anos de idade,
(3) e, por fim, propor ao IPVC/ESTG a implementação deste curso piloto por parte dos investigadores.
Identificação do Problema
Tendo em linha de conta a falta de disciplinas de programação nos curricula oficiais, esta é a realidade no Reino Unido https://www.codeclub.org.uk/about.
Através da mesma fonte procurou-se caracterizar qual seria a realidade em Portugal, em termos da implementação deste tipo de iniciativas, e procurou-se saber também qual seria a realidade noutros países (https://www.codeclubworld.org/about/countries/).
Tendo-se unicamente pesquisado por língua no seguinte URL http://projects.codeclubworld.org/ constatou-se de imediato a falta de materiais de apoio em português de Portugal bem como a não existência desse tipo de clubes em Portugal.
Justifica-se assim a pertinência e atualidade deste tipo de projeto, onde pretende ser uma iniciativa piloto em Portugal - mais concretamente no campus do IPVC - através (1) da criação de um clube de programação júnior no IPVC, seguindo as linhas orientadoras do “Code Club” e (2) onde deverá colmatar com a elaboração dos materiais de apoio em falta em Português de Portugal no site oficial da iniciativa bem como (3) o planeamento de um conjunto finito de sessões de uma hora para possível teste no terreno.
O presente artigo foi dividido em 3 secções. Com a 1ª secção, pretendeu-se contextualizar e identificar o problema de investigação, bem como delinear com o máximo rigor os principais objetivos a atingir com este projeto. Na 2ª secção, todo o processo de criação do “Code Club IPVC” é descrito em termos da estratégia seguida ao longo deste trabalho de investigação. Por fim, na 3ª e última secção, apresentam-se as principais contribuições deste projeto, contrapondo o estudo efetivamente realizado com os objetivos inicialmente apresentados, bem como possível trabalho futuro.
O “Code Club” como iniciativa inspiradora do “Code Club IPVC”
“Code Club International is a worldwide network of free volunteer-led after school coding clubs for children aged 7-13.”
(Raspberry Pi Foundation, 2012a) Figura 1. Em Portugal não há qualquer registo de um “Code-Club” (em Janeiro de 2017)
De acordo com o site internacional da iniciativa “Code-Club” (Raspberry Pi Foundation, 2012a) podemos desde logo concluir que este tipo de iniciativa se destaca por se tratar de uma rede de clubes constituídos por Voluntários com competências mínimas de programação mas com vontade e sentido de responsabilidade em querer ajudar os mais novos (das suas correspondentes comunidades) a adquirirem o gosto pela programação e tornarem-se futuros Criadores Digitais (“Digital makers”):
“Start a Club... Help us inspire the next generation of digital makers by establishing a Code Club” Raspberry Pi Foundation (2012b) Como ficou bem patente na Introdução deste artigo, apesar do projeto ter tido as suas origens no Reino Unido, este já motivou a criação de cerca de 8000 clubes de código em 9 países (Figura 2) estando destes 6711 clubes de código localizados no Reino Unido.
Figura 1. Cerca de 8000 clubes de código em 9 países, destes 6711 clubes no Reino Unido (em Janeiro de 2017)
Como também foi comprovado, em Portugal nenhum destes projetos ainda foi implementado (ver Figura 1). Foi com base nesta problemática que todo este projeto final foi alicerçado tendo sido implementado seguindo uma estratégia bem definida e ilustrada na Figura 3.
Figura 2. A estratégia a seguir na criação de um “Code-Club”
Estratégia seguida
De acordo com a diretivas indicadas pelo “Code-Club” e ilustradas na Figura 3, começou-se por estudar a secção chamada “Start a Club” (1.). A partir daqui foi-nos encaminhado para uma subsecção chamada “What you need” e ilustrada na Figura 4.
Figura 3. O que é necessário para se criar um “Code Club”
O projeto “Code Club” volta aqui a corroborar que este tipo de iniciativa deverá ser feita de modo voluntário, isto é, todos os tutores deverão fazê-lo segundo o seguinte regime:
“Why volunteer? Running a club takes just 1 hour a week, so it's easy to start supporting young people in your community; no previous coding experience is needed; you'll gain great volunteering experience and transferable skills; as you work through the curriculum you can develop your own coding abilities.”
in https://www.codeclubworld.org/get-involved/start-a-club/
Para termos acesso a todos os materiais e recursos de ensino/aprendizagem já disponíveis foi obrigatório o registo do novo clube (“Code Club IPVC”) a implementar:
“Why register? Access to all of our projects, resources and materials; connect with clubs and local partners in your country, to receive support; help us track the great work being done around the world; tell us how Code Club can improve.”
Assim sendo, este foi o primeiro passo seguido: acedendo ao URL:
https://www.codeclubworld.org/get-involved/register-a-code-club/ e escolhendo de antemão o País onde iremos criar um novo clube - Portugal - o novo clube foi criado com sucesso na plataforma online. Como se poderá ver a partir da Figura 5, só então se pôde ter acesso a recursos do tipo “... certificates, door sign and badge templates to make your club complete”:
Figura 4. O registo do novo “Code Club”
Ainda neste primeiro passo, também se teve acesso a “dicas” sobre como se deverá proceder em termos da preparação das aulas bem como os meios legais a ter em atenção no País de acolhimento5 - ver Figura 6.
5 https://www.codeclubworld.org/get-involved/start-a-club/tips-on-running-a-club/
66
Figura 5. Dicas sobre como proceder em termos da preparação das aulas bem como os meios legais a ter em atenção no País de acolhimento
Aqui se destaca a importância de primeiro (1) os “Volunteers should practice projects ahead of students, so you’re prepared to answer their questions”, bem como (2) os “Clubs should run outside of the regular after school day hours for around an hour”.
Após se ter sido registado com sucesso o novo clube “Code-Club IPVC” (Figura 7), também se teve acesso aos recursos pedagógicos do Code-Club: “Club Resources - Here you can access resources, materials and guidance to help you run your Code Club.”
Figura 6. Registo do “Code Club IPVC” feito com sucesso
Esses recursos pedagógicos estão ilustrados na Figura 8 e incluem: ● os modelos para os crachás ("badges.pdf")
● os modelos para os certificados de fim dos três tipos de cursos disponíveis - HTML/CSS, Python e Scratch (“Certificate_*.pdf”)
● modelo para o poster publicitário sobre o novo “Code Club”
(“ComeToCodeClubPoster.pdf”)
● modelo para a sinalética a colocar na porta do laboratório onde irá decorrer as formações (“Door Sign.pdf”)
● e cinco posters onde estão explicados os principais conceitos básicos de programação e sobre o que um computador é capaz de fazer: “Input_poster.jpg”, “Repetition_poster.jpg”, “Selection_poster.jpg”, “Sequencing poster.jpg” e “Variables_poster.jpg”.
O passo seguinte foi escolher e traduzir os projectos - tipos de cursos disponíveis - para português de Portugal (pt_PT) tendo em linha de conta que gostaríamos de planear um conjunto de 4 sessões/formações como foi atrás indicado; mais uma vez se corrobora a pertinência deste projeto dado a falta dos recursos em português de portugal ilustrada na Figura 9.
Figura 7. “Club resources - materials and guidance to help you run your Code Club”
Faz-se notar que, apesar desses recursos estarem já traduzidos mas o Português do Brasil bastou uma análise mais cuidada para se verificar que tais recursos se encontravam “mal traduzidos”, isto é, muito relacionados com a cultura brasileira - olhando para as traduções dos títulos de cada projecto - e, o que nos pareceu grave - tendo em linha de conta que esses mesmos serão usados por crianças – é que algumas “partes do texto” ainda se encontravam em Inglês6, inviabilizando por completo a opção de usar tais recursos (ver Figura 11).
6 Seguir o URL: http://projects.codeclubworld.org/pt-BR/index.html
69
Figura 8. “Code Club World Projects by Languages”
Os projetos “Code Club” a traduzir para pt_PT
“Help more children access our projects by translating them into your native language.” in https://www.codeclubworld.org/get-involved/ Como foi explicado na sub-secção anterior, depois de se criar o clube, o próximo passo foi decidir quais os projetos a traduzir, tendo em linha de conta o procedimento descrito na Figura 10.
Figura 9. Começar a traduzir os projetos
“The Code Club projects are step-by-step guides for children to follow and create animations, games, websites and much more.” in https://www.codeclub.org.uk/projects
Segundo a mesma fonte, o que se pretende com este tipo de iniciativa é que as crianças desenvolvam as suas competências de programação com base em projetos, projetos estes que introduzem conceitos-chave de programação, traduzidos em guiões com instruções passo-a-passo e fazendo com que, em cada projeto, as crianças possam sempre fazer algo diferente e original. Assim sendo, 4 foram os projetos escolhidos tendo em linha de conta que se pretende implementar um projecto por sessão e que o Scratch é de facto um dos ambientes de programação mais usados no ensino preparatório da programação aos mais novos:
“Scratch is a graphical programming language, developed by the Lifelong Kindergarten group at the Massachusetts Institute of Technology.
Children can drag and combine code blocks to make a range of programs, including animations, stories, musical instruments and games.
It’s a bit like the programming equivalent of Lego!”
in https://codeclubprojects.org/en-GB/curriculum/#scratch
Sendo 4 as sessões que nos propusemos a testar no terreno, optou-se por escolher dois projetos do Scratch nível 1 e mais dois do Scratch nível 2, de um total de seis projetos por nível - assinalados a laranja na Figura 12, tendo em linha de conta as competências técnicas a desenvolver e descritas na Figura 13 e na Figura 14.
Figura 10. Projetos em português do Brasil com partes ainda em Inglês
Figura 11. Dos 12 projetos Scratch do nível 1 e nível 2, 4 foram os escolhidos e assinalados a laranja
Figura 12. As competências técnicas a desenvolver com os projetos 4 e 5 Scratch nível 1
Figura 13. As competências técnicas a desenvolver com os projetos 3 e 4 Scratch nível 2
Constatou-se então que por cada projeto na forma de um jogo, dois são os documentos a ter em atenção: (1) o guião do projeto para os alunos - onde são descritos todos os procedimentos para a criação do projeto a seguir passa-a-passo pelo aluno; e, (2), o manual de notas para os “líderes” do clube (para os formadores/tutores) - onde se encontram os recursos e objetivos para cada determinado projeto.
Por fim, os correspondentes ficheiros foram então disponibilizados pelo “Code Club“, para serem alvo de tradução, através de uma partilha recorrendo ao google-drive - ver Figura 15 – a partir dos quais todo o processo de tradução se iniciou.
Figura 14. Partilha dos documentos a traduzir usando o Google-Drive
Ferramentas de Software
Para a tradução dos 4 projetos atrás escolhidos as duas ferramentas de software a usar foram as seguintes: (1) o próprio Scratch, o IDE da linguagem de programação a usar na criação dos projetos (jogos) e (2) um editor de código criado pelo Github chamado Atom7.
Planeamento das sessões em regime presencial
Tendo em linha de conta que as sessões do “Code Club”, destinadas a crianças com idades compreendidas entre os 7 e os 13 anos, terão duração de uma hora por sessão, quatro foram os projetos escolhidos, dois do Scratch Nível 1 e dois do Scratch Nível 2. Também ficou acordado que no início de cada sessão deverá mostrado a funcionar cada projeto já concluído, onde em seguida serão distribuídos os guiões passo-a-passo para a realização de cada projeto/jogo.
Os jogos Scratch 1 a usar serão:
• O Robot Falador (“ChatBot8”): Jogo que apresenta um robot que faz perguntas.
• A Caixa de Pintura (“Paint Box9”): Jogo para desenhar.
Bem como os jogos Scratch 2 a usar serão:
• O Jogo de Cálculo Mental (“Brain Game10”): jogo de perguntas sobre a tabuada de multiplicar, no qual a criança terá de conseguir responder um número máximo de perguntas em 30 segundos.
• O Apanha os pontos (“Catch the Dots11”): jogo no qual o objetivo para por fazer coincidir o número máximo de pontos de cores com a correspondente parte correta do controlador.
Conclusões
“Running a Code Club community is a challenging and rewarding task. You will be at the forefront of a powerful global movement, improving the skills, knowledge and confidence of thousands of children in your country, and around the world.”
“Remember, if you are not yet an official local partner you cannot build a Code Club website, create a logo or secure any funding using the Code Club name. All in good time!”
inhttps://www.codeclubworld.org/get-involved/become-a-local-partner/ Com este projeto pretendeu-se planear, documentar e testar no terreno um conjunto finito de sessões de formação. Todo o planeamento foi pensado para ser concretizado em 4 sessões presenciais a crianças entre os 7 e 13 anos com uma duração máxima de uma hora por sessão. Para tal foi escolhido um projeto por sessão recorrendo à ferramenta de programação por blocos designada por Scratch - dos 12 projetos disponíveis na plataforma “Code Club”. Assim sendo, dois do nível 1 e dois do nível 2 forma escolhidos por forma a conseguir-se abranger o maior leque de competências de programação a desenvolver. Esses 4 projetos foram então traduzidos para português de portugal (pt_PT) em termos dos guiões a disponibilizar aos alunos e tutores, bem como todos os restantes recursos (imagens.png e o jogo final no formato .sb2). Para traduzir os guiões foram disponibilizados por projeto dois ficheiros com extensão .md. - usando uma linguagem de formatação designada por Markdown – que permitiu a sua tradução direta recorrendo ao editor de texto Atom. Para “traduzir” as imagens no formato .png teve-se forçosamente que se implementar de antemão cada um dos jogos, para se poder obter as novas imagens já em português de Portugal. Depois de se ter traduzido na íntegra os quatro jogos, todos os correspondentes ficheiros foram enviados por email para os responsáveis do “Code Club” para estes poderem gerar os novos ficheiros em formato html e poderem assim colocar na plataforma online bem com disponibilizarem os respectivos ficheiros pdf para download.
O período de validação e aprovação desses ficheiros foi morosa (cerca de um ano!) tendo sido finalmente criada uma nova entrada na plataforma “Code Club” com estes quatro projetos em português de portugal (pt_PT) - http://projects.codeclubworld.org/pt-PT/index.html. No entanto constatou-se que, todo este processo de tradução de recursos, no que diz respeito à sua validação e consequente colocação online, não foi de modo algum “amigável” e fiável, tendo-se constatado erros no que diz respeito a algumas imagens que acabaram por não ficarem todas em português bem como a não colocação de outras imagens. O que nos pareceu mais grave, é terem sido colocados os recursos online sem ter havido uma prévia validação por partes dos autores! Por conseguinte, e apesar de se ter constatado que todo este processo requer alguma afinação e profissionalismo por parte dos responsáveis do “Code Club”, pretende-se mesmo assim levar a bom termo este projeto e voltar rapidamente a repetir o processo, por forma a colmatar os problemas encontrados, e começar a testar no terreno essas quatro sessões que terão lugar no campus da ESTG/IPVC.
Concluindo, apesar das dificuldades encontradas na elaboração dos recursos do “Code Club” para português de Portugal, acredita-se que este tipo de iniciativa é o caminho realmente a seguir em Portugal tendo em linha de conta o que se está a passar em países como o Reino Unido e os EUA onde a programação para os mais novos é já uma realidade há pelo menos quatro anos. No entanto, não podemos deixar de salvaguardar que apesar de não se ter identificado iniciativas do género em Portugal aquando a proposta deste projeto, hoje em dia a realidade em Portugal é bem diferente: veja-se o caso de estudo designado por “Academia de Código Júnior” e implementado por Loureiro et. al. (2015) em três escolas do Município de Lisboa do 1º Ciclo, bem como inclusive a criação de uma Start-Up chamada “Academia de Código” onde a componente “Júnior” é sem dúvida umas das suas principais valências: “Academia de Código_Junior: Programação para escolas de todo o país” (ECO, 2017).
Referências
ECO, Economia Online (2017). “Academia de Código_Junior: Programação para escolas de todo o país”. December 2017 https://www.sapo.pt/noticias/economia/academia-de-codigo-junior-programacao-para_59a448df719858fd7b444ce2
Loureiro, M. J. & Moreira, F. & Barbosa, I. & Pombo, L. & Loureiro, M. J. (2015). ACADEMIA DE CÓDIGO JÚNIOR: UM PROJETO PILOTO. In Challenges 2015: Meio Século de TIC na Educação, Half a Century of ICT in Education, Atas do Encontro (pp. 1275-1281). Braga: Centro de Competência TIC do Instituto de Educação, Universidade do Minho.
Quinlan, O. (2015). Young digital makers surveying attitudes and opportunities for digital creativity across the UK. http://www.nesta.org.uk/sites/default/files/youngdigmakers.pdf
Raspberry Pi Foundation. (2012a). About code club. Retrieved December 6, 2016, from Code Club, https://www.codeclubworld.org/about/
Raspberry Pi Foundation. (2012b). Start a club. January 10, 2017, https://www.codeclubworld.org/get-involved/start-a-club/
Raspberry Pi Foundation. (2015). Putting a code club in every community. December 6, 2016 https://www.raspberrypi.org/blog/putting-a-code-club-in-every- community/