Código Octopus: programar con Scratch en educación primaria e secundaria
María Loureiro González
Profesora de Tecnoloxía IES Primeiro de Marzo (Baiona)
marialoureiro@edu.xunta.es
Peregrina Pintos Testa
Profesora de Tecnoloxía IES A Guía (Vigo)
ppintos@edu.xunta.es
Daniel Rodríguez Pizarro
Profesor de Tecnoloxía IES Alexandre Bóveda (Vigo)
dani@edu.xunta.es
1. Orixe e contextualización
Scratch está deseñado especialmente para rapaces e rapazas entre os 8 e os18 anos, pero é usado por persoas de todas as idades. Programando con Scratch aprendemos estratexias importantes para resolver problemas, deseñar proxectos e comunicar ideas. Ademais, dispón dunha extensa comunidade en liña con quen compartir as creacións. O noso traballo xorde ante a constatación do auxe que está a tomar a introdución da programación e a robótica na educación obrigatoria no eido mundial e a conseguinte necesidade de crear material didáctico en galego.
A web non está deseñada como secuencia de aprendizaxe lineal. A idea é que o profesor ou profesora deseñe o seu propio percorrido, tanto na súa aprendizaxe da programación como na do seu alumnado, dependendo do curso, a área, obxectivos de aprendizaxe...
Consideramos que a programación con Scratch se pode incorporar en múltiples niveis e materias, tanto de xeito específico como interdisciplinario.
2. Marco teórico: conectismo, espiral da creatividade...
Nun mundo cambiante e tecnoloxicamente avanzado como o que estamos a vivir cómpre que as mozas e mozos adquiran a capacidade de adaptarse continuamente, de aprender por si mesmos, de solucionar problemas de forma creativa, de crear resultados a partir das propias ideas, de traballar en equipo e, en definitiva, de adquirir unha cultura tecnolóxica.
Mediante a programación, o alumnado de educación primaria e secundaria:
- Desenvolve o pensamento lóxico e algorítmico e aprende os fundamentos de programación.
- Desenvolve métodos para solucionar problemas de maneira metódica e ordenada.
- Desenvolve o hábito de autoavaliar o seu traballo e establecer modificacións para melloralo.
- Desenvolve a capacidade de pór en dúbida as propias ideas.
- Ten a posibilidade de obter resultados complexos a partir de ideas simples.
- Traballa de forma autónoma e ao seu ritmo, en función das súas capacidades e intereses.
- Aprende de forma colaborativa a través do intercambio de coñecemento.
A programación mediante o contorno Scratch posibilítalle ao alumnado:
- Programar de forma fácil e intuitiva, grazas á súa interface gráfica.
- Comprender e asimilar a estrutura xeral dun programa, que inclúe variables, bucles, condicións, entradas e saídas de datos, subrutinas etc. Isto facilita a aprendizaxe posterior de calquera linguaxe de programación máis avanzada.
- Participar compartindo os seus propios proxectos cunha extensa comunidade de usuarios e usuarias de todas as idades e de todo o mundo.
- Familiarizarse co uso do software libre e entender a súa filosofía.
O formato do Scratch actual (o 2.0) é un contorno de traballo en liña, no que cada usuario rexistrado pode realizar os seus proxectos e programas e compartilos coa comunidade programadora. O noso proxecto e a propia contorna de aprendizaxe do Scratch están enmarcados dentro da teoría do conectismo (ou mal traducido coma conectivismo) , evolución do construtivismo desenvolvida por Seymour Papert, continuador das teorías de Piaget. O Scratch sería a evolución lóxica e actualizada do LOGO, desenvolvido no MIT a partir das propostas de Mitchel Resnik.
As propostas educativas de Resnick sintetízanse na famosa espiral do pensamento creativo, que ilustra como deberían organizarse as actividades educativas para desenvolver tamén esta parcela do pensamento complexo, e non quedar centradas no pensamento básico
3. Obxectivos educativos e relación coas competencias
A incorporación da programación con Scratch no currículo de educación primaria e secundaria favorece intensamente no alumnado a adquisición das competencias marcadas nos currículos.
Na nosa páxina citamos os contidos curriculares das materias que poderían traballarse coa secuencia didáctica sen esquecer que a nosa proposta aposta polo traballo interdisciplinario.
De forma xenérica, os contidos que permite traballar o Scratch son:
- Estruturas lóxicomatemáticas: algoritmos
- Resolución de problemas
- Creatividade artística: animación, imaxe gráfica, expresión musical...
- Interacción co mundo físico
- Narración de historias
- Análise semántica
- Plurilingüismo: desenvolver ou analizar a mesma tarefa en diversas linguas
- Actitudes e valores éticos: colaboración, vantaxe do traballo en grupo, autonomía, autorregulación da aprendizaxe, beneficios das redes sociais e da ética do software libre...
4. Descrición dos contidos da web: diagramas de uso
Código Octopus é un sitio web estruturado en módulos e páxinas: Inicio, Marco teórico, Aprendendo a programar, Propostas didácticas, Interacción coa contorna física (aínda por desenvolver), Avaliación, Coding in English.
Fixemos un diagrama de uso básico do web:
O sitio non está pensado para ser utilizado nunha orde lineal preestablecida, senón que agardamos que os usuarios vaian avanzando en espiral.
Tamén fixemos un diagrama complementario para consultar os bloques máis teóricos:
Bloque Aprendendo a programar: interface e estruturas básicas
A nosa proposta para aprender a programar desenvólvese partindo das estruturas básicas dun programa:
Despois dos apartados de Instalación e Primeiros pasos (onde incluímos un vídeo da interface do programa e outro do seu editor de imaxes), temos tres bloques con cada unha das estruturas básicas e outro bloque co uso das variables, listas e bloques. En cada bloque hai programas de exemplo (partindo dun enunciado ou tarefa), o código a modo de proposta de solución e posibles exercicios para modificar ou perfeccionar o programa. Non é necesario facer todos os exercicios do bloque, dependerá do nivel de partida e da rapidez de aprendizaxe, e cada persoa necesitará facer máis ou menos exercicios.
O primeiro bloque, no que se van descubrindo os menús e comandos do Scratch ten propostas de exercicios baseadas nas Scratch Cards, “tarxetas” dixitais que serven de axuda e iniciación ao Scratch para unha persoa que aprenda por si mesma. Ademais, dentro do programa, ao seleccionar un bloque ou comando, podemos acceder á Axuda, onde indicará como utilizalo correctamente. É importante que o alumnado desenvolva con rapidez a autonomía na súa aprendizaxe, ensinándolle as ferramentas para consultar interactivamente posibles atrancos, deixando como última posibilidade a consulta ao profesor ou profesora.
Bloque A programar!
Unha vez chegados ao nivel de usar as estruturas básicas e as variables, hai que ser quen de comezar a asumir retos, tarefas abertas, proxectos...
No bloque A programar! temos diversos programas e xogos que poden servir como tarefas: dados o enunciado e a proposta de solución (código), fanse propostas de mellorar ou aumentar a complexidade. Cada tarefa poderá ser máis axeitada para un nivel de programación ou outro e, sobre todo, para unha materia ou outra. Coas etiquetas podemos buscar as tarefas propostas para cada materia.
Bloque Propostas didácticas
No bloque de Propostas didácticas desenvolvemos diversos programas de Scratch tanto para quen aprendeu xa a programar coa nosa proposta como para o profesorado que queira utilizar as nosas propostas como retos de programacións, tarefas para programar ou proxectos para desenvolver.
- Xogos: unha das mellores tarefas que podemos propoñer en Scratch é un videoxogo, que poderá ser máis ou menos complexo dependendo do nivel previo de programación. Este tipo de tarefa sempre será motivador para a maioría do alumnado. O apartado de xogos de Código Octopus ofrécelle ao profesorado unha serie de estratexias para levar a cabo co fin de realizar diversos tipos de xogos, comezando desde unha estrutura máis ou menos básica e engadindo despois novos elementos que corrixen erros ou amplían as funcións. É dicir, explicamos e amosamos o código dunha serie de xogos máis ou menos depurados, pero só como guía para o profesorado, para que vexa o procedemento e para poder amosarlle unha solución posible. Despois, o profesorado poderá deseñar a súa propia proposta de xogos, que elaborará o seu alumnado, pensando nos contidos que queira traballar e no nivel.
- Proxectos: neste apartado facemos propostas de traballo por áreas, algunhas máis concretas na actividade (facer unha animación ou presentación interactiva, traballar coa música...) e outras para desenvolver ao longo de varios cursos (crear un ecosistema, facer programas con polígonos de distinta dificultade...).
- Estudos: coa opción de crear Estudos podemos agrupar diversos proxectos para telos todos xuntos nunha páxina, dentro da plataforma de Scratch. Nun estudo poden colaborar distintos usuarios e usuarias. É unha boa opción para agrupar os traballos dun mesmo centro. En Código Octopus creamos e xestionamos distintos Estudos relacionados coas nosas propostas didácticas: tecnoloxía, matemáticas, linguas e arte, ciencias e coñecemento do medio, xogos. Tamén explicamos como xestionar os estudos (que é un curator) e ligamos outros estudos de interese por áreas ou actividades.
Bloque Coding in English: traballar en inglés con Scratch
Traballar noutro idioma con Scratch é ben sinxelo: chega con pór a interface en inglés (ou en calquera outro idioma). A tradución do código será automática, polo que podemos reciclar código de programas en galego ou castelán. Precisamente por iso consideramos que non tiñamos que pór todos os nosos programas de Código Octopus en inglés. Neste apartado temos unha explicación en inglés dos primeiros pasos (a interface, o editor de imaxes), as estruturas de axuda básicas (Scratch Cards), algunhas utilidades para conectar o mundo físico (sensores, robots) e un apartado de avaliación de proxectos.
5. Metodoloxía proposta
A metodoloxía de traballo é baseada na espiral da creatividade.
Exemplo: o uso da espiral da creatividade como proposta didáctica na área de Ciencias (tarefa e contidos: ecosistemas).
A nosa proposta metodolóxica para calquera área caracterízase por:
- Minimizar o tempo de inicio ao programa: non é necesario explicar polo miúdo todos os menús e comandos, terán que verse a medida que poidan facer falta. Para isto están pensadas as Scratch Cards e as axudas no programa.
- Seguir un progreso en espiral, tanto na aprendizaxe da programación como na aprendizaxe dos contidos da área.
- O obxectivo central é facer tarefas, abertas ou pechadas, non dominar o programa.
- Incentivar a investigación e a colaboración: antes de facer tarefas, cómpre ver outras similares, aprender do que xa está feito, copiar doutros programas, aprender dos erros...
- Propiciar a autonomía na aprendizaxe: non é necesario un profesor ou profesora nin un libro de texto.
6. Avaliación
Como propostas principais de avaliación que facemos estarían:
- Usar rúbricas para avaliar o resultado e o proceso, pero entregándoas ao principio da tarefa cando esta sexa longa.
- Usar carnés de insignias para avaliar o nivel e progreso de cada alumno e alumna.
- Usar e avaliar o aspecto social do programa na plataforma: unha tarefa non pode darse por rematada se non está ben compartida coa comunidade.
- Permitir e incentivar as copias, reciclaxes e mesturas de código.
O importante na aprendizaxe da programación será avaliar o proceso en conxunto, proceso que pode vir representado pola espiral da creatividade. Cada paso da espiral poderá ter algunha ferramenta de avaliación máis axeitada.
- Imaxinar: dada a tarefa, deberá descompoñerse en subtarefas cando sexa factible ou ben imaxinar/propoñer unha solución global e logo pensar como chegar a ela. Se é un traballo en grupo, poderá haber un documento escrito das propostas.
- Crear: escribir o programa ou subprogramas, preferentemente partindo do diagrama de fluxo ou do pseudocódigo (secuencia de pasos que debe dar o programa). Nunha primeira fase pode avaliarse só se funciona ou non, pero en caso negativo é interesante analizar a estrutura e activar o detector de erros: non funciona, pero por que?, un erro gramatical ou ortográfico?
- Xogar/Experimentar: se a solución xa é útil ou empeza a visualizarse, debe esixirse nesta fase probar novas posibilidades para melloralo, tanto optimizando o código como traballando o deseño.
- Reflexionar: se o programa se dá por rematado satisfactoriamente desde o punto de vista funcional (é unha solución á proposta de traballo), a reflexión debe orientarse á mellora ou uso aumentado do programa, en especial á reutilización. Se o programa non é satisfactorio, a reflexión debe levarse ao proceso seguido, analizando os erros, o funcionamento do grupo etc. Neste apartado é onde é extremadamente útil a ferramenta das rúbricas, pois permite orientar a reflexión, ademais de cuantificar os distintos apartados.
- Compartir: nunha plataforma educativa como Scratch,as tarefas non se dan por rematadas ata que non se comparten coa comunidade. Deberemos avaliar que se cumpra un protocolo determinado (instrucións de uso, notas, agradecementos...). Se pode ser, rematarase por compartir o programa nun estudo.
Ferramentas de avaliación específicas
A. Rúbricas: é unha ferramenta de uso habitual nas tarefas abertas ou subxectivas, e pode utilizarse na coavaliación e na heteroavaliación. Fixemos unha xeral e propoñémoslle ao profesor que a adapte para cada tarefa. Se se quere cualificar numericamente, débese ponderar cada ítem e cada categoría. Vexamos un extracto da rúbrica para animación de historias, sen ponderar:
Na páxina poden descargarse as rúbricas para modificalas.
B. Carnés de cefalópodo (insignias badges): seguindo propostas de ludificación da aprendizaxe propoñemos, nos cursos de primaria e primeiro ciclo da ESO, a introdución dun carné que avalíe o nivel e progreso do alumando mediante insignias.
Temos 5 niveis: Lura, Choco, Polbo, Kraken,Ctulhu.
Ademais o carné ten as seguintes destrezas para cada nivel, que poden puntuarse de 0 a 8 tentáculos:
- Limpeza na escritura do código: mide o ben que se escriba o código, a súa claridade.
- Arte: destreza na parte gráfica, como o deseño de fondos, personaxes, narración visual etc.
- Potencia: capacidade de escritura de código, nivel de programación en canto a resolución de tarefas técnicas.
- Creatividade: capacidade de innovación, descubrir novos usos, novos bloques non explicados na clase etc.
- Comunidade: capacidade de traballo en grupo, escoitar criticas, interese por compartir e axudar etc.
Na web poden descargarse os carnés para utilizalos ou modificalos.
Outras ferramentas de avaliación
Dependendo da tarefa propoñemos o uso destas ferramentas de avaliación: análise tentacular de problemas, diagrama de fluxo e pseudocódigo, diario do programa ou memoria do proxecto.
Poden verse exemplos e descargarse na páxina.
7. Conclusións
Codigo Octopus está concibido como un traballo dinámico, no que se irán introducindo actualizacións, novos apartados e proxectos, noticias etc. Agardamos que sexa interesante para o profesorado galego e que sirva como fonte de recursos e de intercambio para incorporar a programación con Scratch nos diferentes niveis do ensino.