--- tags: Making For Change title: Pensamiento Computacional para una educación STEAM - Educación Primaria - 5o y 6o --- # Pensamiento Computacional para una educación STEAM - Educación Primaria - 5o y 6o # Fase I - Juegos con SCRATCH Involucrar al alumnado en la creación de sus propios proyectos es clave para mejorar su implicación y el proceso de aprendizaje. En esta primera fase de la formación repasaremos los conceptos básicos de la programación y el pensamiento computacional motivando al alumnado a **crear sus propios videojuegos**. ## Objetivos de Aprendizaje Lxs alumnxs : + Serán introducidos en los temas de conceptos computacionales tales como condicionales, operadores y datos (variables y listas). + Se familiarizarán con las prácticas de desarrollo de aplicaciones como son: - experimentar y repetir - probar y hacer debugging - reutilizar y reinventar - abstraer y modularizar al crear - extender un proyecto ya hecho. + Identificarán y entenderán la mecánica común de los juegos. ## Actividad 1 - El juego soñado :-) (60 min) ### Objetivo - Identificar elementos comunes en el diseño de juegos. - Acceder con la cuenta de usuario a la plataforma de [Scratch](https://scratch.mit.edu/). ### Material necesario - Papel *(folios o post-it)* para escribir los elementos de diseño de los juegos. - Lápices, bolígrafos o rotuladores. ### Dinámica 1. Divide la clase en grupos pequeños de 2-3 estudiantes. 2. En cada grupo, pide a los estudiantes que hagan una lista de juegos con los que disfrutan ( mínimo 4-5 juegos por estudiante). 1 juego - 1 post it. (5 min) 3. En cada grupo, hacer la lista de juegos por orden de más a menos repetido en el grupo. Por ejemplo si Super Mario lo han repetido 3 veces, primero...y así con el resto. Si no se repite, de más a menos preferido en el grupo. (5 min) 4. Pasado el tiempo, pregunta a los estudiantes sobre la lista resultante (10 min): - ¿ Qué tienen en común los juegos ? - ¿ Qué característica de su diseño los hacen ser juegos ? - Hacer un listado entre toda la clase de los mecanismos de juegos más comunes. Por ejemplo: hay cuenta atrás, hay varias vidas, hay música, etc... 5. Pide a cada grupo que imaginen un juego, aquel que les encantaría jugar y que escriban una lista con los elementos de diseño para ese juego con el mayor detalle posible. (15 min) - ¿ Tiene música ? - ¿ Puede jugar más de un jugador ? - ¿ Cómo es la puntuación ? - ¿ Cómo se gana ?¿ Cómo se pierde ? - ¿ Cuál es la temática ? - ... 6. Cada grupo tiene que presentar su sueño soñado recibiendo el feedback y las sugerencias del resto de compañerxs. (20 min). 7. Haz que cada grupo guarde las notas de la sesión. 8. Por último, haz que cada grupo acceda a su cuenta de usuario de Scratch, la utilizaremos en la siguiente sesión (5 min). ### Feedback del docente *[Por favor, contesta las siguientes preguntas y añade la información necesaria una vez completada la actividad. Puedes hacerlo haciendo click en este link. Gracias !](https://docs.google.com/document/d/18AlumlQH57pYOFAzBODe1n-9BjdzDaUapA5r1TNy7UE/edit?usp=sharing)* 1. ¿ Te ha dado tiempo a completar la actividad en el tiempo estimado ? 2. En general, ¿ lxs alumnxs han entendido la actividad ? ¿ Han hecho bien el diseño del juego soñadp ? 3. ¿ Crees que lxs alumnxs han aprendido las claves de un videojuego? 4. ¿ Han podido probar el acceso a las cuentas de Scratch ? 5. ¿ Qué ha funcionado bien ? 6. ¿ Qué NO ha funcionado bien ? 7. Si has hecho fotos durante la actividad ( sin que se muestre la cara del alumnx) añádelas a continuación. ## Actividad 2 - Mi primer juego, un LABERINTO [![](https://i.imgur.com/cPd8gMX.png)](https://scratch.mit.edu/projects/364550273) En esta actividad programaremos nuestro primer juego clásico, un laberinto. ### Nota para el/la docente - Recomendamos hacer esta actividad en grupos de 2 para fomentar el *pair programming*. El *pair programming* o programación en pareja es una técnica para el desarrollo de aplicaciones que requiere que dos programadores participen en un esfuerzo combinado de desarrollo en un sitio de trabajo, en este caso, el aula. - Haz que cada estudiante tenga su propio "Diario de Diseño de Videojuegos" en el que anote los aspectos/conceptos clave para el desarrollo de videojuego así cómo sus reflexiones personales. - Permite que, de manera ordenada y por grupos, lxs alumnxs se levanten para ver y preguntar cómo otros están haciendo el juego. ### Objetivos En esta actividad lxs alumnxs: - Aprenderán conceptos clave de programación: condicionales, operadores y datos (ver glosario). - Desarrollarán habilidades de programador de aplicaciones cómo: reutilizar, reinventar, probar y hacer debugging. ### Descripción 1. El docente les enseña el juego que tienen que programar ( ver ejemplo de Laberinto en Scratch en las referencias). (5min) 2. Pregunta que aspectos claves han de tener en cuenta. Por ejemplo: la pelota, el diseño del laberinto, los movimientos, las "colisiones" entre pelota y paredes del laberinto, etc. (5min) 3. Propón que cada grupo dibuje un fondo como un laberinto y use diferentes colores para los bordes y para el marcador al final del laberinto. (10min) ![](https://i.imgur.com/P7ZOFxc.png) 4. Propón que elijan un "personaje" que irá por el laberinto. En el caso de ejemplo, una pelota. 6. Compárteles en un folio los aspectos clave del código del juego y dales tiempo que lo adapten a su diseño (no les des acceso todavía el ejemplo de laberinto) (25 min): Ves preguntando alguna de las siguientes cuestiones: - Código que da al jugador control sobre los movimientos del objeto o personaje dentro del laberinto: ![](https://i.imgur.com/uGMdfIW.png) - ¿Cómo le dice a tu objeto/personaje dónde comenzar el inicio del laberinto ? ![](https://i.imgur.com/7n6rGv6.png) - ¿Cómo haces que tu objeto/personaje rebote en las paredes del laberinto? ![](https://i.imgur.com/nZ72Dyc.png) - ¿ Cómo sabes que tu jugador ha llegado al final del laberinto ? ![](https://i.imgur.com/XDwj5Ob.png) 7. Haz que cada grupo guarde su juego a su espacio y lo añada al Estudio en Scratch de la clase para que no pierdan su trabajo. (5min) 8. Con toda la clase, haz las siguientes preguntas y establece una conversación para reflexionar sobre lo aprendido hoy. Haz que añadan las reflexiones a su "Diario de diseño de videojuegos". (10min) - ¿Hay condicionales en el código? - Identifica los operadores que hay en el código - Identificad los datos en el código. Por ejemplo...número de pasos, color de las paredes, etc. - ¿Qué fue lo más dificil de diseñar en tu juego? - ¿De qué estas orgulloso en tu juego ? ### Retos Si alguien acaba pronto o para motivar al alumnado a continuar en casa, propón: 1. Agregar múltiples niveles al juego. Diseña y utiliza diferentes fondos y usando los bloques “Enviar”, para generar el siguiente nivel. 2. Si quisieras guardar puntos, cómo lo harías ? Crea variables. 3. Intenta añadir un tiempo límite al juego. Utiliza los bloques de tiempo. ### Referencias útiles para esta actividad - Proyecto de ejemplo Laberinto https://scratch.mit.edu/projects/364550273 - Estudio Juegos http://scratch.mit.edu/studios/487504 ### Feedback del docente *[Por favor, contesta las siguientes preguntas y añade la información necesaria una vez completada la actividad. Puedes hacerlo haciendo click en este link. Gracias !](https://docs.google.com/document/d/18AlumlQH57pYOFAzBODe1n-9BjdzDaUapA5r1TNy7UE/edit?usp=sharing)* 1. ¿ Te ha dado tiempo a completar la actividad en el tiempo estimado ? 2. En general, ¿ lxs alumnxs han entendido la actividad ? ¿ Han acabado el laberinto ? 3. ¿ Crees que lxs alumnxs han aprendido conceptos claves de programación cómo son condicionales, operadores o secuencias ? 4. ¿ Han podido guardar el proyecto en sus cuentas de Scratch ? 5. ¿ Qué ha funcionado bien ? 6. ¿ Qué NO ha funcionado bien ? 7. Si has hecho fotos durante la actividad ( sin que se muestre la cara del alumnx) añádelas a continuación. # Fase 2 - Introducción a la programación de micro:bit y sensores ![](https://i.imgur.com/oJ4cRoK.png) micro:bit es un proyecto llevado a cabo por la BBC cuyo propósito principal es demostrar que cualquiera puede programar. A continuación se detallan una serie de actividades con los siguientes objetivos: - Descubrir los componentes, los sensores y la placa micro:bit. - Aprender a programar la placa con un ejercicio básico: "hello world". - Concer el entorno de programación por bloques **[Microsoft MakeCode](https://makecode.microbit.org/)** . - Comprender y aplicar el concepto de "sensor". - Conocer conceptos básicos de programación y pensamiento. computacional: programa, secuencia, evento, loop y condicional. - Fabricar tus propios sensores (conductividad de materiales). ### Actividad 1. Descubrir la placa micro:bit Vamos a descubrir los componentes de la micro:bit haciendo un dibujo. Puedes utilizar la siguiente presentación. <iframe src="https://docs.google.com/presentation/d/e/2PACX-1vQHIaCdOK2W8HNz76Ys2c9gDcovAPLTJOmOx8ZD_Wuj14lQj9XzIBAommrvghs7GSoLft-NDjOQFw4K/embed?start=false&loop=false&delayms=3000" frameborder="0" width="720" height="435" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe> **1**. Reparte una placa micro:bit a cada equipo y haz que cada estudiante dibuje las dos caras de la placa en una hoja de papel. Indícales que lo hagan con el **mayor detalle posible** (10 min). **2**. Mientrás, dibújala tu también en la pizarra de la clase o utiliza la siguiente imagen (10 min): ![](https://i.imgur.com/Z0HPxwb.png) **3**. En una dinámica de grupo, descubrid entre todos los componentes y sensores de la placa. ¿Qué es cada componente? (20 min) *Haz que lo escriban en sus dibujos y ves explicando su función hasta completar la imagen* ![](https://i.imgur.com/JZAWHdb.png) **Cara Frontal** - *Micro USB*: Es el conector que nos permite por una parte alimentar la placa y por otra programarla conectada al ordenador. - *5x5 LED Matrix*: LED significa Diodo Emisor de Luz. El micro:bit tiene 25 LED programables individualmente, lo que te permite visualizar texto, números e imágenes. - ***Sensor de Luz***: Al invertir los LED de la pantalla para que se convierta en una entrada, la pantalla LED funciona como un sensor de luz básico, lo que te permite detectar la luz ambiental. - ***Sensor de Temperatura***: Este sensor permite que el micro:bit detecte la temperatura actual del dispositivo, en grados centígrados. - *Digital / analog IO* + *Edge Connector pins*: Hay 25 conectores externos en el conector de borde de la micro:bit, a los que nos referimos como 'pines'. Puedes programar motores, LEDS, sensores adicionales u otros componentes eléctricos con los pines. ![](https://i.imgur.com/CD3EyPC.png) - *User Buttons*: Hay dos botones en la parte frontal del micro:bit (etiquetados como A y B). Puedes detectar cuándo se presionan estos botones, lo que te permite activar el código en el dispositivo. - *External Supply*: Conector para alimentar desde la placa a algunos sensores. Limitada a 3V. **Cara Trasera** - *2.4Ghz Antenna*: El BLE (Bluetooth de Baja Energía) permite que el micro:bit controle los teléfonos y las tabletas a través de Bluetooth. Esta comunicación funciona en ambos sentidos, así que también puedes enviar el código a tu micro:bit de forma inalámbrica desde tu teléfono usando una de nuestras aplicaciones. Otras aplicaciones, como Swift Playgrounds y Scratch, usan Bluetooth para hablar con el micro:bit. Antes de usar la función Bluetooth, deberás asociar tu micro:bit con otro dispositivo. Una vez emparejado, puedes enviar programas de forma inalámbrica a tu micro:bit. Cuando usas la radio, Bluetooth puede usarse para actualizar el código en el micro:bit, si ingresas en el modo de emparejamiento. [Aquí](https://support.microbit.org/support/solutions/articles/19000083637-using-the-micro-bit-wirelessly-) puedes ver cómo hacerlo. - *Nordic nRF51822*: La función de radio te permite comunicarte de forma inalámbrica entre micro:bits. Usa la radio para enviar mensajes a otros micro:bits, crear juegos multijugador, etc. - ***Sensor de Movimiento***: Un acelerómetro mide la aceleración de su micro:bit; este componente detecta cuando el micro:bit se mueve. También puede detectar otras acciones, por ejemplo, sacudidas, inclinaciones y caídas libres. ![](https://i.imgur.com/7PuvRhb.png) - ***Brújula***: La brújula detecta el campo magnético de la Tierra, permitiéndole detectar hacia qué dirección está orientado el micro:bit. La brújula tiene que ser calibrada antes de que pueda ser utilizada. "Calibrar" la brújula asegura que los resultados de la brújula sean precisos. Este es un proceso que se realiza al iniciar por primera vez la placa. ![](https://i.imgur.com/toDO57M.png) - *Battery Connector*: Conector para alimentar de manera externa la placa. ![](https://i.imgur.com/YhbUd6B.png) - *Reset Button*: A veces quieres que tu programa empiece de nuevo. Eso es lo que hará este botón de reinicio. No necesitas escribir nada en tu programa para usarlo, simplemente sucederá. Presiónalo y "reiniciará" todo al principio. - *USB interface chip (Freescake KL26z)*: El chip de interfaz se encarga de la conexión USB, y se utiliza para flashear un nuevo código al micro:bit, enviando y recibiendo datos en serie de ida y vuelta a su ordenador principal. [Más información sobre el Hardware incorporado a la placa micro:bit.](https://tech.microbit.org/hardware/) **4.** Ahora que ya conocemos la placa y antes de empezar a programarla, **¿ qué ideas se os ocurren para utilizar los sensores de la placa ?** (15 min) El término **sensor** se refiere a un elemento de medición que detecta la magnitud de un parámetro físico y lo cambia por una señal que puede procesar el sistema. En la placa de micro:bit tenemos varios cómo son **la brújula, el sensor de temperatura, el acelerómetro o sensor de movimiento y el sensor de luz.** Rellena [la siguiente tabla](https://docs.google.com/document/d/1KAM9Zij1LFVWzNDPTPoOYNUuV7PZgRozXyB37oBFvL8/edit?usp=sharing) con las ideas que se os ocurran de videojuegos para utilizar los sensores, los botones, la pantalla de leds de la microbit: ![](https://i.imgur.com/NyQxOQ8.png) **5.** Pon en común **todas las ideas** surgidas y haz una lista para colgar en la clase y que este disponible para todxs los estudiantes.Haz una foto y compártela. (15 min) ### Actividad 2. Mi primer programa con micro:bit Vamos a hacer nuestro primer programa con micro:bit. Vamos a medir la temperatura de la sala donde estamos utilizando el sensor de temperatura integrado en la placa. ![](https://i.imgur.com/RtyX5tL.png) **0.** Antes de empezar, reparte una placa micro:bit y un cable micro usb a cada grupo. **1.** Para programar utilizaremos el entorno de programación por bloques [Microsoft MakeCode para micro:bit](https://makecode.microbit.org/) ![](https://i.imgur.com/HoEEoFP.png) Haz que todxs los estudiantes accedan al entorno de programación y explícales cómo está divido ( ver imagen anterior ). Podéis repasar la lista de BLOQUES de programación. **3.** Pon el "código" del programa que mide la temperatura de la clase ( en realidad mide la temperatura del microchip de la placa). Ponlo en la pantalla de la clase y repásalo con todxs los estudiantes. ![](https://i.imgur.com/lHs73sr.png) - **al iniciar** es una secuencia de bloques que se ejecutan únicamente al iniciar (encender o después de tocar el botón de reset) la micro:bit. - **para siempre** es una secuencia de bloques que se ejecutan mientras la micro:bit está encendida. Es lo que se conoce en programación cómo "bucle" (loop). En este caso lo que hace el programa es: 1. Muestra en la pantalla de leds la temperatura. 2. Se para la ejecución del programa durante 2 segundos (2000 milisegundos). 3. Muestra en la pantalla de leds un corazón. 4. Se para la ejecución del programa durante 2 segundos (2000 milisegundos) y vuelve a empezar. **4.** Da tiempo a cada grupo para que haga la programación copiándola de la pantalla. También puedes imprimir a cada grupo el código de ejemplo. No des muchas indicaciones, potencia que lxs estudiantes descubran los bloques necesarios explorando en la lista teniendo en cuenta los colores. **5.** Por último vamos a cargar el programa en la micro:bit. Para ello sigue los siguientes pasos. Hazlo tú primero delante de todxs los estudiantes y luego dales tiempo para que lo hagan ellos. 1. Conecta la placa a tu ordenador ( Windows, Mac o Linux ). Verás que aparece cómo dispositivo externo. 2. Descarga el código (fichero .hex) del editor de MakeCode ![](https://i.imgur.com/8f9p0Cn.png) ![](https://i.imgur.com/7G0W1rp.png) 3. Una vez que haya descargado el archivo 'hex', cópialo a tu micro:bit de igual manera a copiar un archivo a una unidad USB. ![](https://i.imgur.com/CVoLx6M.png) 4. Funciona !!! ![](https://i.imgur.com/cYqjxiV.jpg) **Nota:** La temperatura mostrada es la temperatura del microchip de la placa que normalmente es 2-3 grados superior a la temperatura ambiente. ¿ Cómo harías para **mostrar** la temperatura ambiente ? Pon el dedo sobre el microchip y espera unos segundos, **¿ sube la temperatura ?** **6.** Reto: ¿ Cómo sería el programa que únicamente muestra la temperatura cuando el usuario toca el botón A de la micro:bit ? Con este reto buscamos que lxs estudiantes descubran que es un **evento** en programación ( ver glosario ). Da tiempo a lxs estudiantes para que piensen y hagan el programa que cumpliría el reto. **Solución:** ![](https://i.imgur.com/phbqY9a.png) ### Actividad 3. Biblioteca de Materiales Conductivos En esta actividad vamos a descubrir la conductividad eléctrica de los materiales que nos rodean. Con la placa micro:bit vamos a hacer una "máquina" que nos diga si un material/objeto deja pasar o no la electricidad. #### Material necesario ( por grupo ) ![](https://i.imgur.com/hX97qmt.jpg) - 1 micro:bit con paquete de baterías y pilas y un cable microusb para conectarla al ordenador. - 2 pinzas de cocodrilo ( puedes utilizar 2 cables y conectarlo con el cobre ) - Materiales / Objetos de tu entorno #### Paso 1 - Código ![](https://i.imgur.com/bXJCIyc.png) Con este código probaremos si el material es conductivo (mostrará un corazon) o no lo es ( mostrará una X) La condición en el código es si el pin P0 está presionado, es decir si pasa la electricidad entre el pin GND y el pin 0. #### Paso 2 - Circuito de conexión Conecta un cable al pin 0 y otro cable al GND de la placa microbit. ![](https://i.imgur.com/gAacv6P.png) #### Paso 3 - Descarga el código en la placa microbit. #### Paso 4 - Test Coge un material u objeto que tengas a tu alrededor y conecta los cables. Si muestra un corazón ( se cierra el circuito ) quiere decir que el material deja pasar la electricidad sino quiere decir que no es un material conductor. Por ejemplo, el papel NO deja pasar la electricidad. ![](https://i.imgur.com/b3EchaK.jpg) Pero el papel de aluminio si. ![](https://i.imgur.com/pfObeif.jpg) **¿ Qué otros materiales tienes a tu alrededor ? Haz una clasificación separando los materiales conductivos de los que no. Al finalizar, haz una foto con el resultado final.** ## Glosario - Conceptos de pensamiento computacional y programación. *A continuación se definen palabras y conceptos clave sobre el pensamiento computacional y la programación. Pueden parece complejas pero es importante empezar a asimilarlas en edades tempranas para ir consolidándolas en edades avanzadas.* * **Instrucción** * Una instrucción indica al ordenador la o las operaciones/acciones que éste debe realizar con unos datos terminados. Por ejemplo: Avanza [acción] 3 pasos [datos]. * **Secuencia** * Una **secuencia** son una serie de instrucciones que siguen uno u otro orden. Todos los pasos se deben seguir en secuencia, después de completarse el paso anterior. El resultado de un programa dependerá de los comandos y de cómo estén organizados. * **Programa** * Un programa es una secuencia de instrucciones escrita en un lenguaje que el ordenador ( tablet, teléfono móvil, etc) puede entender. Las instrucciones tienen que ser muy precisas o los ordenadores cometerán fallos. A menudo, procesan algún tipo de datos para crear un resultado. * **Programación por bloques** * La programación por bloques es un sotfware el cual nos permite aprender a programar desde niños, mediante el uso de sencillas y muy basicas conexiones de graficas, haciendo uso de la gran variedad de herramientas que este nos ofrece. * **Pensamiento Computacional** * Pensar los problemas de forma que permita a los ordenadores solucionarlos. El pensamiento computacional es algo que hacen las personas, no los ordenadores. * **Evento** * Los eventos son todas las acciones que el usuario inicia, dar clic sobre un botón, presionar las teclas del teclado, etc. Cada vez que se produce un evento, se ejecuta una parte del código. * **Variable** * La variable es un lugar donde el programa puede almacenar un dato concreto, como un número o una cadena. Por ejemplo, en "midiendo nuestro entorno", la variable puede almacenar el valor de un sensor. * **Comunicación Inalámbrica** * La comunicación inalámbrica o sin cables es aquella en la que la comunicación (emisor/receptor) no se encuentra unida por un medio de propagación físico, sino que se utiliza la modulación de ondas electromagnéticas a través del espacio. Por ejemplo, la placa microbit tiene una antena para comunicación por radio o para comunicación Bluetooth. * **Condicional** * Un condicional, como su nombre lo indica, es una condición para discernir entre una opción u otra, y en el proceso mental normalmente se manifiesta con un “Si”; por ejemplo: Si (va a llover), coge el paraguas. * **Condicionales** * Una sentencia condicional es una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición. * **Operadores** * Un operador es un elemento que indica el tipo de operación que se le va a aplicar a uno o más datos.Los símbolos de sumar, multiplicar, restar, etc son operadores. * **Datos** * Las aplicaciones o programas funcionan con datos. Los programas usan cadenas que pueden incluir letras, palabras, números y cualquier carácter del teclado. * **Sensor**