Enseña Pensamiento Computacional Con Scratch

Introducción

Scratch nació en el ámbito informal para compartir proyectos, música... y en el 2003 con el Instituto de Tecnología de Massachusetts (MIT) y Playful Invention Company se creó la primera versión de escritorio con el propósito de ayudar a niños a partir de 8 años a aprender a programar. En el 2013 salió la versión web.

En definitiva Scratch es una herramienta que permite de una forma rápida, sencilla e intuitiva, llevar el pensamiento computacional a la educación con niños.

Objetivos

1. Toma de contacto

1. Toma de contacto

Pensamiento computacional

El origen del término Pensamiento Computacional fue marcado por Jeannette M. Wing. El pensamiento computacional está directamente relacionado con la informática. Representa una aptitud aplicable universalmente para resolver problemas, diseñar de sistemas, pensar de forma paralela y recursiva. Implica conceptualización, abstracción y descomposición de tareas complejas. Jeannette M. Wing, debido a todas las ventajas que aporta el pensamiento computacional, propone la inclusión de este tipo de formación en edades tempranas.

J. M. Wing, 2006. Computational Thinking. Communications Of The ACM. 49 (3). https://www.cs.cmu.edu/~CompThink/papers/Wing06.pdf

Tengamos en cuenta antes de empezar, que el pensamiento computacional puede llegar a ser muy variado entre dos personas.

En este curso vamos a ir construyendo la programación de un juego paso a paso. Iremos incluyendo bloques partiendo de las necesidades más simples y directas, luego las iremos completando según necesidades más ambiciosas. La secuencia de creación del juego y de programación de los bloques en este curso es bastante lógica y racional.

Pero hay que tener en cuenta que el orden de pensamiento computacional para crear programación puede realizarse de formas muy diferentes. En la realidad, es difícil que dos personas, de forma independiente y autónoma, sigan exactamente los mismos pasos para crear un mismo programa siguiendo una misma lógica y secuencialización, ¡Incluso llegando a la misma solución, el orden de razonamiento de ambas personas puede ser muy diferente!

La lógica de razonamiento de cada persona es diferente y esto hace que no haya una forma correcta de programar, sino tantas formas correctas como personas hayan dado con una de las posibles soluciones al problema. También es cierto que habrá soluciones que sean más simples que otras, o que funcionen mejor que otras. Y esto también es un aspecto a valorar y a tener en cuenta en cuanto a una posible evaluación de una estructura de programación.

Es posible que algún estudiante de este curso abordara la solución a este juego de formas muy diferentes, por ejemplo, empezando por los pasos finales de este curso y acabando por los pasos iniciales. Por tanto, si os veis con capacidades para ir construyendo el juego, podéis intentar construir vosotros mismos las soluciones. Si por contra os resulta difícil imaginar qué hacer en cada paso, os podéis dejar guiar por el razonamiento y secuencialización mostrado en este curso.

Es de esperar que al intentar realizar el siguiente proyecto de programación, cada vez seáis más autónomos. No hay que olvidar que para aprender a aplicar el pensamiento computacional para construir aplicaciones o juegos, hay que enfrentarse de forma individual ante nuevos retos, probar diversas alternativas y acabar dando con la solución de forma autónoma, lo cual incrementará la satisfacción y entrarán ganas de afrontar un reto mayor de programación.

Y de cara a ir construyendo el juego, cada vez que añadas unos bloques, ejecuta el programa para probar que hacen lo que era de esperar

Oferta de formación en Pensamiento computacional del Centro Aragonés de Tecnologías para la Educación.

Tenemos un grupo Telegram Robótica Educativa en Aragón, si estás interesado en unirte, envía un mensaje por Telegram (obligatorio) a CATEDU 623197587 https://t.me/catedu_es y te añadimos en el grupo

1. Toma de contacto

Robótica y accesibilidad

1.- Introducción

Durante mucho tiempo la robótica fue patrimonio de personas y/o instituciones con alta capacidad económica (podían adquirir las placas con microcontroladores comerciales) y capacidad intelectual (podían entender y programar el funcionamiento de las mismas) siempre dentro de los límites establecidos por las marcas comerciales y lo que pudieran “desvelar” de su funcionamiento, vigilando siempre que la competencia no “robara” sus secretos y “copiara” sus soluciones.

Todo esto saltó por los aires en torno a 2005 con la irrupción de un grupo de profesores y estudiantes jóvenes, que decidieron romper con esta dinámica, tratando de poner a disposición de su alumnado microcontroladores económicamente accesibles y que les permitieran conocer su funcionamiento, sus componentes, e incluso replicarlos y mejorarlos. Nacía Arduino y el concepto de Hardware Open Source. Detrás de este concepto se encuentra la accesibilidad universal. En un proyecto Open Source todo el mundo puede venir, ayudar y contribuir, minimizando barreras económicas e intelectuales.

Arduino traslada al hardware un concepto ya muy conocido en el ámbito del software, como es el software open source o software libre.

opensource.png

Software libre

Cuando los desarrolladores de software terminan su creación, tienen múltiples posibilidades de ponerlo a disposición de las personas, y lo hacen con condiciones específicas especificadas en una licencia. Esta licencia es un contrato entre el creador o propietario de un software y la persona que finalmente acabará utilizando este software. Como usuarios, es nuestro deber conocer las condiciones y permisos con las que el autor ha licenciado su producto, para conocer bajo qué condiciones podemos instalar y utilizar cada programa.

Existen muchas posibilidades de licencias: software privativo, comercial, freeware, shareware, etc.. Nos centraremos aquí en la de software libre.

GNU (https://www.gnu.org) es una organización sin ánimo de lucro que puso una primera definición disponible de lo que es software libre: Software libre significa que los usuarios del software tienen libertad (la cuestión no es el precio). Desarrollaron el sistema operativo GNU para que los usuarios pudiesen tener libertad en sus tareas informáticas. Para GNU, el software libre implica que los usuarios tienen las cuatro libertades esenciales:

1. ejecutar el programa.
2. estudiar y modificar el código fuente del programa.
3. redistribuir copias exactas.
4. distribuir versiones modificadas.

En otras palabras, el software libre es un tipo de software que se distribuye bajo una licencia que permite a los usuarios utilizarlo, modificarlo y distribuirlo libremente. Esto significa que los usuarios tienen libertad de ejecutar el software para cualquier propósito, de estudiar cómo funciona el software y de adaptarlo a sus necesidades, de distribuir copias del software a otros usuarios y de mejorar el software y liberar las mejoras al público.

El software libre se basa en el principio de la libertad de uso, y no en el principio de la propiedad. Esto significa que los usuarios tienen la libertad de utilizar el software de la manera que deseen, siempre y cuando no violen las condiciones de la licencia. El software libre es diferente del software propietario, que es el software que se distribuye con restricciones en su uso y modificación. El software propietario suele estar protegido por derechos de autor y solo se puede utilizar bajo los términos y condiciones especificados por el propietario del software.

Recomendamos la visualización de este video para entender mejor el concepto.

Más adelante, entorno a 2015, en Reino Unido, surgiría también la placa BBC Micro:bit, con la misma filosofía de popularizar y hacer accesible en este caso al alumnado de ese país la programación y la robótica. También hablaremos de ella.

2.- ARDUINO o LA ROBÓTICA ACCESIBLE

Arduino es una plataforma de hardware y software libre.

Hardware libre

Esto significa que tanto la placa Arduino como el entorno de desarrollo integrado (IDE) son de código abierto. Arduino permite a los usuarios utilizar, modificar y distribuir tanto el software como el hardware de manera libre y gratuita, siempre y cuando se respeten las condiciones de las licencias correspondientes.

El hardware libre es un tipo de hardware cuya documentación y diseño están disponibles de manera gratuita y libre para su modificación y distribución. Esto permite a los usuarios entender cómo funciona el hardware y adaptarlo a sus necesidades, así como también crear sus propias versiones modificadas del hardware.

Arduino surge como solución al elevado precio de los microcontroladores allá por el año 2005. En el ámbito de la educación, los microcontroladores solo se utilizaban en la etapa universitaria, y su coste era tan elevado que muchos proyectos de fin de carrera se quedaban únicamente en prototipos virtuales ya que las universidades no podían proveer a cada estudiante con un microprocesador, contando además que en el propio proceso de experimentación lo más habitual era que una mala conexión hiciera que se rompieran. Otro gran inconveniente era la dificultad de la programación. Cada fabricante entregaba su manual de programación, lo que hacía que de unos a otros no hubiera un lenguaje estándar, y la consecuente dificultad de interpretación. Además, su programación era a bajo nivel en lenguaje máquina. Generar una simple PWM requería una ardua y minuciosa secuenciación que podía llevar varias horas hasta conseguir el resultado deseado. Por este motivo, el enfoque de Arduino desde el principio fue ser Open Source tanto en hardware como en software. El desarrollo del hardware fue la parte más sencilla. Orientado a educación, sufre algunas modificaciones frente a los microprocesadores existentes para hacer más fácil su manejo y accesibilidad a cualquier sensor o actuador. El mayor esfuerzo se entregó en todas las líneas de código que hacían posible que ya no hubiera que programar a bajo nivel gracias al IDE de Arduino que incluía bibliotecas y librerías que estandarizaban los procesos y hacían tremendamente sencillo su manejo. Ahora el alumnado para mover un motor, ya no tenía que modificar las tramas de bits del procesador una a una, sino que bastaba con decir que quería moverlo en tal dirección, a tal velocidad, o a equis grados.

Acabábamos de pasar de unos costes muy elevados y una programación muy compleja a tener una placa accesible, open source y de bajo coste que además hacía muy accesible su programación y entendimiento, características fundamentales para su implantación en educación, hasta tal punto que su uso ya no era exclusivo de universidades, sino que se extiende a la educación secundaria.

arduinosecundaria.png

Este hecho es fundamental para el desarrollo del Pensamiento Computacional en el aula observándose que su accesibilidad y beneficios son tales, que alcanzan a centros con alumnado de toda tipología como la aplicación del pensamiento computacional y robótica en aulas con alumnos de necesidades especiales. Una vez más, aparece el concepto de accesibilidad asociado a esta filosofía Open Source.

A este respecto, recomendamos la lectura de este interesante blog, que tiene por título: ROBOTIQUEAMOS...” Experiencia de aproximación a la robótica en Educación Especial (CPEE ÁNGEL RIVIÈRE). También recomendamos los trabajos robótica en Educación Especial (CPEE ÁNGEL RIVIÈRE):  http://zaragozacpeeangelriviere.blogspot.com/search/label/ROB%C3%93TICA

blogRobotiqueamos.jpg

Igualmente, la aparición de Arduino supone una gran facilidad para la aplicación de la robótica y la programación en la atención temprana, donde son numerosas sus aplicaciones desde ayudar a mitigar el déficit de atención en jóvenes autistas, hasta ayudar a socializar a los alumnos con dificultades para ello, o ayudar a alumnos de altas capacidades a desarrollar sus ideas.

Por otro lado su accesibilidad económica lo ha llevado a popularizarse en países de todo el mundo, especialmente en aquellos cuyos sistemas educativos no disponen en muchas ocasiones de recursos suficientes, lo que supone en la práctica una democratización del conocimiento y superación de brecha digital.

Filosofía del Arduino ver vídeo

Arduino y su IDE son la primera solución que aparece en educación con todas las ventajas que hemos enumerado, y esto hace que todos los nuevos prototipados y semejantes tengan algo en común, siempre son compatibles con Arduino

Para entender bien la filosofía de Arduino y  el hardware libre, os recomendamos este documental de 30 minutos. Arduino the Documentary

Scratch: software libre para el desarrollo del pensamiento computacional

Scratch es un lenguaje de programación visual desarrollado por el grupo Lifelong Kindergarten del MIT Media Lab. Scratch es un software libre. Esto significa que está disponible gratuitamente para todos y que se distribuye bajo una licencia de software libre, la Licencia Pública General de Massachusetts (MIT License). Esta licencia permite a los usuarios utilizar, modificar y distribuir el software de manera libre, siempre y cuando se respeten ciertas condiciones. Entre otras cosas, la licencia de Scratch permite a los usuarios utilizar el software para cualquier propósito, incluyendo fines comerciales. También permite modificar el software y distribuir las modificaciones, siempre y cuando se incluya una copia de la licencia y se indique que el software ha sido modificado. En resumen, Scratch es un software libre que permite a los usuarios utilizar, modificar y distribuir el software de manera libre y gratuita, siempre y cuando se respeten las condiciones de la licencia. De hecho, gracias a que está licenciado de esta forma, han surgido decenas de variaciones de Scratch para todo tipos de propósitos, eso sí, siempre educativos y relacionados con las enseñanzas de programación y robótica

3. BBC micro:bit y la Teoría del Cambio

BBC micro:bit, a veces escrito como Microbit o Micro Bit, es un pequeño ordenador del tamaño de media tarjeta de crédito, creado en 2015 por la BBC con el fin de promover el desarrollo de la robótica y el pensamiento computacional entre la población escolar del Reino Unido. Actualmente su uso está extendido entre 25 millones de escolares de 7 a 16 años de más de 60 países.

e74cc3a97963070daee67213f9ccf5268388bd01-790x635.webpTarjeta BBC micro:bit V1. Fuente: https://microbit.org. CC BY-SA 4.0.

Aunque el proyecto fue iniciado por la BBC, su desarrollo fue llevado a cabo por 29 socios tecnológicos de primera línea. Por ejemplo, la implementación del Bluetooth integrado en la tarjeta corrió a cargo de la fundación propietaria de la marca, Bluetooth SIG, una asociación privada sin ánimo de lucro.

El hardware y el software resultantes son 100% abiertos, y están gestionados por una fundación sin ánimo de lucro que comenzó a funcionar en el año 2016, la Micro:bit Educational Foundation. La fundación basa sus actuaciones en su Teoría del Cambio,

Teoría del cambio y más sobre microbit

Teoría del cambio puede resumirse en tres principios:

Para desarrollar sus principios, la fundación trabaja en tres líneas de acción:

Uno de los objetivos de la Micro:bit Educational Foundation es llegar a 100 millones de escolares en todo el mundo.

En correspondencia con las líneas de acción y con los principios expuestos, el sistema resultante es muy económico: tanto las placas como los accesorios producidos por terceras empresas tienen un precio muy contenido. Además, dado el carácter abierto del proyecto, están disponibles algunos clones totalmente compatibles, como Elecrow Mbits o bpi:bit. Estos clones son incluso más potentes y económicos que la placa original.

El universo micro:bit destaca por su alta integración de software y hardware: basta un clic de ratón para cargar las librerías necesarias para que funcione cualquier complemento robótico, como sensores, pantallas, tarjetas de Internet de las Cosas, robots, casas domóticas, etc.

La programación de la placa se realiza desde un ordenador a través de un navegador cualquiera, estando disponibles 12 lenguajes de programación. De nuevo, por ser un sistema abierto, existen múltiples soluciones de programación, aunque las más común es MakeCode.

MakeCode.pngCaptura de pantalla del editor MakeCode, https://makecode.microbit.org/#.

El sitio web MakeCode permite programar con bloques y también en Python y en Java, traduciendo de un lenguaje a otro instantáneamente. No se necesita ningún registro en la plataforma para poder programar.

Los programas también pueden guardarse descargados en el ordenador compilados en código de máquina. Al subir de nuevo el programa al editor, se realiza una decompilación automática al lenguaje de bloques, Python o Java. Los programas guardados en código de máquina se pueden cargar directamente en micro:bit, que en el escritorio de un ordenador se maneja como una simple unidad de memoria USB.

MakeCode contiene además múltiples recursos como tutoriales, vídeos, fichas de programación, cursos para el profesorado, ejemplos y propuestas de proyectos y experimentos, todo ello en varios idiomas y clasificado por edades desde los 7 años.

Otra solución muy usada para programar micro:bit es MicroPython, creada por Python Software Foundation, otra organización sin ánimo de lucro.

MicroCode permite que los más pequeños, a partir de los 6 años de edad, programen micro:bit mediante un sistema de fichas dispuestas en líneas de acción. Están disponibles un tutorial introductorio en 20 idiomas, una guía del usuario y muchos ejemplos. El proyecto es de código abierto.

Micro:bit también es programable en Scratch con sólo añadir una extensión al editor.

Todos los entornos de desarrollo descritos disponen de un simulador de micro:bit, por lo que ni siquiera resulta necesario disponer de una tarjeta física para aprender a programar.

Una vez realizada la programación, la placa y sus complementos pueden funcionar desconectados del ordenador por medio de un cargador de móvil, una batería externa o un simple par de pilas alcalinas.

Versiones y características de micro:bit

A pesar de su pequeño tamaño, micro:bit es un sistema potente. Existen dos versiones de la placa. La más moderna, llamada micro:bit V2, tiene las siguientes características:

4.- LA IMPORTANCIA DEL OPEN SOURCE / CÓDIGO ABIERTO EN EDUCACIÓN

La creación, distribución, modificación y redistribución del hardware y software libre así como su utilización, están asociados a una serie de valores que deberían ser explicados en la escuela a nuestros alumnos para dar una alternativa a la versión mercantilista de que cualquier creación es creada para obtener beneficios económicos.

En GNU, pusieron especial énfasis en la difusión del software libre en colegios y universidades, promoviendo una serie de valores fundacionales:

Valores GNU
 Compartir

   El código fuente y los métodos del hardware y software libre son parte del conocimiento humano. Al contrario, el hardware software privativo es conocimiento secreto y restringido. El código abierto no es simplemente un asunto técnico, es un asunto ético, social y político. Es una cuestión de derechos humanos que la personas usuarias deben tener. La libertad y la cooperación son valores esenciales del código abierto. El sistema GNU pone en práctica estos valores y el principio del compartir, pues compartir es bueno y útil para el progreso de la humanidad. Las escuelas deben enseñar el valor de compartir dando ejemplo. El hardware y software libre favorece la educación pues permite compartir conocimientos y herramientas.

Responsabilidad social

     La informática, electrónica, robótica... han pasado a ser una parte esencial de la vida diaria. La tecnología digital está transformando la sociedad muy rápidamente y las escuelas ejercen una influencia decisiva en el futuro de la sociedad. Su misión es preparar al alumnado para que participen en una sociedad digital libre, mediante la enseñanza de habilidades que les permitan tomar el control de sus propias vidas con facilidad. El hardware y el software no debería estar bajo el poder de un desarrollador  que toma decisiones unilaterales que nadie más puede cambiar.

Independencia

      Las escuelas tienen la responsabilidad ética de enseñar la fortaleza, no la dependencia de un único producto o de una poderosa empresa en particular. Además, al elegir hardware y software libre, la misma escuela gana independencia de cualquier interés comercial y evita permanecer cautiva de un único proveedor. Las licencias de hardware y software libre no expiran

Aprendizaje

        Con el open source los estudiantes tienen la libertad de examinar cómo funcionan los dispositivos y programas y aprender cómo adaptarlos si fuera necesario. Con el software libre se aprende también la ética del desarrollo de software y la práctica profesional.

Ahorro

        Esta es una ventaja obvia que percibirán inmediatamente muchos administradores de instituciones educativas, pero se trata de un beneficio marginal. El punto principal de este aspecto es que, por estar autorizadas a distribuir copias de los programas a bajo costo o gratuitamente, las escuelas pueden realmente ayudar a las familias que se encuentran en dificultad económica, con lo cual promueven la equidad y la igualdad de oportunidades de aprendizaje entre los estudiantes, y contribuyen de forma decisiva a ser una escuela inclusiva.

Calidad

        Estable, seguro y fácilmente instalable, el software libre ofrece una amplia gama de soluciones para la educación.

Para saber más

En los años 90, era realmente complicado utilizar un sistema operativo Linux y la mayoría de la cuota del mercado de los ordenadores personales estaba dominada por Windows. Encontrar drivers de Linux para el hardware que tenía tu equipo era casi una quimera dado que las principales compañías de hardware y de software no se molestaban en crear software para este sistema operativo, puesto que alimentaba la independencia de los usuarios con respecto a ellas mismas.

Afortunadamente, y gracias a la creciente presión de su comunidad de usuarios, estas situaciones pertenecen al pasado, y las compañías fabricantes de hardware han tenido que variar el rumbo. Hoy en día tenemos una gran cantidad de argumentos en los que nos podemos basar para dar el salto hacia cualquier sistema operativo basado en Linux. Tal y como podemos leer en educacionit.com, podemos encontrar las siguientes ventajas:

Por estas razones, el software libre se ha expandido por toda la comunidad educativa en los últimos años de manera exponencial. Un buen ejemplo de lo que estamos hablando es Bookstack, este sistema de edición de contenidos para cursos que utiliza Aularagón así como el uso de Moodle como plataforma de enseñanza y aprendizaje. En cuanto a sistema operativo para ordenadores, en Aragón disponemos de nuestra propia distribución Linux: Vitalinux EDU. Tal y como podemos leer desde su página web: Vitalinux EDU (DGA) es la distribución Linux elegida por el Gobierno de Aragón para los centros educativos. Está basada en Vitalinux, que se define como un proyecto para llevar el Software Libre a personas y organizaciones facilitando al máximo su instalación, uso y mantenimiento. En concreto Vitalinux EDU (DGA) es una distribución Ubuntu (Lubuntu) personalizada para Educación, "tuneada" por los requisitos y necesidades de los propios usuarios de los centros y adaptada de forma personalizada a cada centro y a la que se ha añadido una aplicación cliente Migasfree. De ésta forma, obtenemos:

  1. Un Sistema Ligero. Permite "revivir" equipos obsoletos y "volar" en equipos modernos. Esto garantiza la sostenibilidad de un sistema que no consume recursos de hardware innecesariamente ni obliga a la sustitución del hardware cada poco tiempo en esa espiral de obsolescencia programada en la que se ha convertido el mercado tecnológico.
  2. Facilidad en la instalación y el uso del sistema mediante programas personalizados.
  3. Un Sistema que se adapta al centro y/o a cada aula o espacio, y no un centro que se adapta a un Sistema Operativo.
  4. Gestión de equipo y del software de manera remota y desatendida mediante un servidor Migasfree.
  5. Inventario de todo el hardware y software del equipo de una forma muy cómoda.
  6. Soporte y apoyo de una comunidad que crea, comparte e innova constantemente.



1. Toma de contacto

¿Qué herramientas tenemos?

Propuesta de pensamiento computacional

Hay muchas herramientas, pero no todas son válidas ni a cualquier edad. En CATEDU hemos elaborado esta hoja de ruta seleccionando algunas y clasificándolo por edades (no se tiene que tomar al pie de la letra, sólo a nivel orientativo) para trabajar el pensamiento computacional, podríamos elegir otros modelos de robots, pero estos son los que trabajamos en CATEDU. Puedes ver dónde encaja Scratch:

image-1648543830084.png

Como ves SCRATCH JUEGA UN PAPEL MUY IMPORTANTE en toda la primaria y secundaria, y CODE.ORG es una herramienta muy buena como base si no se quiere empezar de lleno en Scratch

También vemos que SCRATCH es un lenguaje apropiado para la robótica.

1. Toma de contacto

Instalación

Dos formas de trabajar en SCRATCH

La web oficial de Scratch es http://scratch.mit.edu/

La versión actual de Scratch es Scratch 3.0.

Hay dos caminos para crear proyectos con Scratch :

  1. Sin necesidad de conexión a Internet: mediante Scratch Offline Editor

    • Es el editor de proyectos Scratch que no necesita conexión a Internet para funcionar.
    • Recomendada en caso de existir problemas de conexión. 
    • Los proyectos Scratch se guardan en archivos con extensión .sb3 dentro de nuestro ordenador.
    • Lamentablemente en este momento desde la página oficial solo se suministra esta versión para sistemas operativos Windows.
    • Web oficial de descarga de Scratch 
    • Existen disponibles en esa misma web las versiones offline anteriores (Scratch 1.4 y Scratch 2) que  son necesarias para el caso de querer abrir ficheros de extensión .sb y .sb2
    • Para el caso de equipos con Linux, existe la opción de descargar siempre la última versión actualizada de Scratch desde el proyecto Scratux.
    • Web oficial de descarga de Scratux
    • Para los equipos vitalinux se encuentra disponible en Vitalinux Play.
  2. Con necesidad de conexión a Internet: mediante Scratch 3 Online

    • Se realiza desde la página oficial http://scratch.mit.edu/ en CREAR. (Acceso directo: https://scratch.mit.edu/projects/editor/)
    • Los proyectos Scratch se guardan en la Web de Scratch http://scratch.mit.edu/
    • Para guardar los proyectos realizados en la Web, es necesario crearse una cuenta de usuario en la web de Scratch .
    • Los proyectos Scratch se pueden exportar y acabar guardados en nuestro ordenador.
    • Permite compartir nuestro proyecto a la comunidad de "Scratchers".
    • Permite "embeber" el proyecto en una página web, proporcionando el código html.

¿Qué opción es la más recomendable?

Lo mejor es la versión OnLine, sólo recomendamos utilizar la versión Offline si hay problemas de conexión de Internet.

On-Line

Scratch on-line es la opción que recomendamos al menos que en tu centro tenga problemas de conexión de Internet.

Registro como docente

Si te registras como docente puedes crear como alumno, y además crearte tus clases y controlar a tus alumnos. Si te registras como alumno no puedes cambiar como docente luego. 

Aquí tienes un tutorial para registrarte como docente, si ese es tu caso.

ATENCIÓN si quieres más información sobre las opciones como docente, entonces consulta esta página

Registro como alumnado

Aquí tienes un tutorial para registrarte como alumnado, si ese es tu caso.

También existe una versión para Android llamada ScratchJr [Ver]. Es una versión reducida pensada para alumnos de infantil.

Off-Line

Actividad: Instalar Scratch 3 Offline Editor

Si tienes Windows:

Entra en la web de descargas de Scratch https://scratch.mit.edu/download y descarga desde allí el ejecutable .exe

imagen.png

Si tienes vitalinux:

Ve al Vitalinux Play y descárgate desde allí Scratux: Scratch3 offline

imagen.png

Si tienes linux pero no vitalinux:

Ve a la web oficial de Scratux y descárgate tu opción

imagen.png

Sobre las versiones anteriores Scratch2 y Scratch 1.4:

1. Toma de contacto

Entorno Scratch

Una vez que hayas arrancado Scratch en tu ordenador, o que hayas entrado en la web online de Scratch, verás el entorno de trabajo de Scratch. En la siguiente imagen se muestran las diferentes zonas de trabajo de Scratch.

En el primer ítem del menú con forma de bola del mundo se puede cambiar el idioma a español.

Glosario:

imagen.png

Respecto a la accesibilidad de esta herramienta para alumnado con Necesidades Educativas Especiales, recomendamos consultar el siguiente artículo de la Universidad Complutense de Madrid, o esta presentación realizada por personal de ONCE para el caso específico de alumnado con deficiencia visual.


1. Toma de contacto

¡Ya funciona!

Actividad:

Vamos a hacer nuestro primer programa en Scratch:

1. Haz clic en la pestaña Código, en el menú Eventos 

2. Arrastra el bloque "Al hacer clic en bandera":

imagen.png

3. Haz clic ahora en el menú Movimientos.

 4.  Arrastra el bloque "mover 10 pasos" a la zona derecha y encájalo arrastrándolo justo debajo del bloque "Al hacer clic en bandera":

imagen.png

 Y ¡ENCAJALO! 

imagen.png5 Haz clic en la bandera verde para iniciar el programa:

imagen.png

¡Verás que el gato Scratch se mueve un poco hacia la derecha! Se mueve 10 pasos, correspondientes a 10 píxeles. 

El programa termina sólo porque ha terminado de ejecutar todas las instrucciones. Por ello no hay que darle al botón Stop rojo (al lado de la bandera verde) para que finalice. El botón Stop servirá cuando nuestro programa tenga bloques de control que impliquen repetición continua de ejecución (esto se verá más adelante). 

2. Empezando a manejar Scratch

2. Empezando a manejar Scratch

Empezando a manejar Scratch

En este bloque de contenidos vamos a empezar a usar Scratch. Se avanzará de forma progresiva, mostrando poco a poco las posibilidades que ofrece, e ¡incluso acabaremos consiguiendo realizar un juego de ordenador! ¿es fácil y posible? ¡sí!, ¡y se puede conseguir en muy poco tiempo!

2. Empezando a manejar Scratch

Bloques

Scratch dispone de un buen número de bloques. En el presente curso sólo vamos a estudiar y utilizar un subconjunto de ellos, serán lo suficientemente significativos para que aprendáis a utilizar Scratch de una forma completa y os permitirá tener una base para que vosotros mismos probéis el funcionamiento de otros bloques.

Si os gustaría tener información sobre todos los bloques impreso, os recomendamos esta guía de Eduteka donde aparece descrito lo que hace cada bloque: http://www.eduteka.org/pdfdir/ScratchGuiaReferencia.pdf#page=15

Actividad: Moviendo los bloques

Continuamos con el proyecto que ya funciona. Haz que en vez de 10 pasos, avance 50: Para ello haz clic en el número 10, borra con el teclado el 10 y escribe 50, y pruébalo de nuevo.

Manejando bloques: Observarás que los bloques en la zona del programa se pueden mover.

Los bloques se quedan enlazados, y cuando arrastremos un bloque, con él se moverá todo lo que esté debajo de él, pero se desprenderá de sus bloques superiores.

A continuación del bloque azul "mover 50 pasos", añade el bloque "esperar 1 segundo", que está en el los bloques de Programas - Control.

Añade también varios bloques azules más, de forma que queden intercalados, tal y como se muestra en la siguiente imagen, y pruébalo. Para ello puedes utilizar Duplicar, una opción muy interesante que aparece al hacer clic con el botón derecho sobre un conjunto de bloques

imagen.png

Actividad: Borrando bloques

Para quitar un bloque (y todo lo que depende de él):

Para quitar un bloque que esté encajado en medio de otros bloques: desencájalo de arriba, desencájale todo lo que tiene abajo, elimínalo, y encaja los bloques superiores con los inferiores. En la siguiente imagen se muestra cómo poder borrar el bloque "mover 50 pasos" que está en el medio:

imagen.png

DESHACER BORRADO: Si borras un bloque o un conjunto de bloques entero, puedes recuperar lo último que has borrado en el menú Editar - Recuperar borrado.

2. Empezando a manejar Scratch

Objetos, Disfraces y Fondos

Actividad: OBJETOS

Un nuevo proyecto viene con un objeto: es un Gato. Se puede cambiar el nombre al objeto, dándole con el Botón derecho - Info y luego cambiándole el nombre en el recuadro.

imagen.png

Añade un nuevo objeto desde la biblioteca de objetos, en concreto el objeto "Dog1". Está en la categoría Animales.

Actividad: DISFRACES

Cada objeto puede tener muchos disfraces. El Gato por defecto viene con 2 disfraces. Podemos añadir un nuevo disfraz a un objeto.

Añade un nuevo disfraz al objeto Gato: Primero haz clic en el objeto Gato. luego añade el disfraz Cat2 al objeto Gato desde la biblioteca de disfraces.

imagen.png


También podemos borrar disfraces: Borra el disfraz que acabas de añadir.

Actividad: ESCENARIO

El escenario en Scratch se comporta como un objeto más, que puede tener programas asociados (aunque obviamente sin algunos bloques como por ejemplo el de movimiento) disfraces (aquí llamados fondos) y sonidos.

Inicialmente el escenario es blanco. Podemos tener preparadas varias imágenes que podemos hacer que sean el fondo del programa.

imagen.png

Añade un fondo de la biblioteca de fondos, por ejemplo el fondo "blue sky".

2. Empezando a manejar Scratch

Programas y Movimiento

Actividad: Añadir otro programa

Si ya has trasteado mucho, cada vez que lo necesites, puedes volver a empezar un nuevo proyecto en blanco. Dale a menú Archivo - Nuevo para iniciar un nuevo proyecto, o también puedes ir borrando lo que ya no necesites.

Vamos a añadir que al presionar la tecla "a", el objeto se gire 90 grados:

  1. Habrá que utilizar un bloque de Eventos, en concreto el bloque "al presionar tecla espacio" Pongo en cursiva espacio porque lo podremos cambiar. Haciendo clic en "espacio", podremos cambiarlo por "a".
  2. Se necesita también el bloque de Movimiento "mover 10 pasos". Haciendo clic en el 10, podríamos ponerle 100 para que avance más.

imagen.png

Observad que hay 2 programas en la zona derecha. Cada objeto puede tener varios programas, que funcionan de forma paralela.

IMPORTANTE: Los programas se identifican por empezar con un bloque de "Eventos" cuya parte superior es ovalada.

Caso práctico

El objeto se mueve en la dirección en la que apunta. Hay un bloque que hace que el objeto apunte a otra dirección:

imagen.png

Haz que el objeto se mueva según las flechas de teclado.

Solución




Caso práctico

La posición de un objeto se controla con coordenadas X e Y. La posición de estas coordenadas en la pantalla es la siguiente:

Esta imagen es un Fondo que ya está creado en Scratch, y que puedes añadir a tu proyecto.

Añade este programa.

imagen.png

¿Qué hace este programa?

Solución


 Este programa mueve el objeto a la zona inferior derecha de la pantalla cuando se presiona la tecla b.

2. Empezando a manejar Scratch

Lápiz y Sonido

Lápiz

Los bloques de Lápiz sirven para dejar una estela por donde el objeto se mueva. Para que deje la estela dibujada, es necesario añadir el bloque "bajar lápiz" previamente al movimiento. Cuando terminemos de pintar, habrá que poner el bloque de "subir lápiz" para que al volver a mover el objeto ya no pinte. Será posible pintar con distintos colores y grosores. El bloque "borrar" sirve para borrar todo lo pintado. Podemos poner un Programa que al darle a la tecla "b" borre todo. Puedes probar a poner estos bloques para que veas su efecto:

imagen.png

¿Dónde está la instrucción lápiz?

Antes estaba por defecto, ahora tienes que añadirlo como extensión

2023-04-17 14_39_00-Scratch - Imagine, Program, Share.jpg

2023-04-17 14_39_34-Scratch - Imagine, Program, Share.jpg

Sonido

Los bloques de Sonido sirven para reproducir sonidos en algún momento de nuestro programa. Cada objeto viene con un sonido predeterminado. Pero nosotros mismos podemos grabar o añadir música que ya tengamos en nuestro ordenador:

imagen.png

Caso práctico

Haz un programa que muestre el camino por donde se ha movido el gato. Añade que suene un "miau" después de haber pintado la línea.

Solución



Música

Además de los bloques de sonido, Scratch también dispone de un conjunto de bloques para añadir música en nuestros programas

¿Dónde está la instrucción de música?

Antes estaba por defecto, ahora, igual que el lápiz, hay que añadir la extensión Música

musica-scratch.jpg

Estos bloques los necesitarás para contestar una de las preguntas de los cuestionarios del curso.

Agradecimientos a Paola García @paolagarab

2. Empezando a manejar Scratch

Control: condiciones

Las condiciones son un tipo de bloques que evalúan algo, y si es cierto, entonces se arrancan los bloques que tiene dentro anidado.

Añade estos bloques y pruébalos dándole a la bandera. Los bloques verdes están en el menú operadores. Los bloques morados en el menú Apariencia.

imagen.png

 En estos bloques se comprueba que 2+3=5, y como es cierto, entonces el gato dice "SUMA CORRECTA". Si cambias el 5 por cualquier otro valor, por ejemplo 6, la condición de 2+3=6 es falsa, y el gato dice "Hmmm... algo va mal". 

Caso práctico

Vamos a crear un programa que haga que el gato maulle cuando toque el borde del escenario. Para ello, en el menú Sensores, usaremos el bloque ¿tocando?

imagen.png

Solución



Primero hay que crear los bloques que comprueben si estamos tocando el borde, y entonces maullar:
image-1648544478112.1.png
Una posible solución donde añadir la comprobación de tocar el borde, es añadirlo justo después de mover el gato en todas las direcciones.



2. Empezando a manejar Scratch

Control: repeticiones o bucles

Caso práctico

Para empezar a entender qué son las repeticiones, haz un programa que dibuje dos líneas discontinuas.

Solución




Puedes duplicar los bloques (botón derecho - duplicar) para no tener que construir dos veces lo mismo.

¿Y si hubiera que pintar muchas líneas? Es decir, repetir lo mismo muchas veces. Entonces hay que añadir un bloque de control para hacer repeticiones. Las repeticiones también se llaman "bucles". Es posible añadir 3 tipos de bucles:

imagen.png

Caso práctico

Haz un programa que dibuje 10 líneas discontinuas seguidas. 

Solución



Caso práctico

Haz un programa que dibuje un cuadrado.

Solución

Hay dos soluciones posibles de dibujar el cuadrado utilizando el bloque de repeticiones. A continuación se muestran los dos programas posibles. Con que construyas uno de ellos ya tienes la solución. Los bloques de subir y bajar lápiz pueden estar dentro o fuera del bloque de repetición, en este ejemplo el resultado será el mismo, si bien es más eficiente a efectos de código el de la izquierda puesto que no ejecuta las instrucciones bajar y subir lápiz de forma innecesaria. 



Caso práctico

Haz que el gato vaya cambiando de disfraz constantemente. Añade un retardo de 1 segundo para que el cambio de disfraz sea algo más lento.

Solución

imagen.png

2. Empezando a manejar Scratch

Mensajes

Podemos comunicar dos programas ya sean dentro del mismo objeto o entre diferentes objetos o con el escenario a través del envío de mensajes. Se puede enviar un mensaje desde un programa de un objeto a otro, para hacer en él alguna acción. Estos bloques se encuentran en "Eventos".

imagen.png

Caso práctico

Vamos a hacer que cuando el gato toque al perro, enviemos un mensaje desde un programa del gato hasta un programa del perro. Cuando el perro reciba el mensaje, lo cambiaremos de posición, a una posición aleatoria.

Solución


Al presionar Bandera, si el objeto Gato toca al perro (Dog1), envía un mensaje. 
Programa a añadir en el gato.
imagen.png
Ese mensaje lo recibimos en el objeto Dog1, y hacemos que el perro se mueva a una posición aleatoria en pantalla.

Programa a añadir en el Perro:
imagen.png

2. Empezando a manejar Scratch

Variables

Las variables las podemos entender como un "nombre" que contiene un "valor". Podremos asignar un valor a la variable. Y podremos recuperar el valor de la variable. Al crear una variable, aparecen los bloques de control de las variables, en "Variables".

imagen.png

Caso práctico

Crea una variable y ponle de nombre PUNTOS

Solución

imagen.png

Las variables como has visto se pueden crear para que sean reconocibles y utilizables por todos los objetos, o solo para un objeto determinado. El primer caso es lo habitual, si bien en casos como variables contador puede no ser necesario que sean globales si solo van a ser utilizadas por un único objeto.

Vamos a añadir algo más de complejidad.

Solución

imagen.png

2. Empezando a manejar Scratch

¡El primer juego!

Caso práctico: ¡Vamos a hacer el primer juego!

Con todo lo que hemos visto, ya tenemos todos los ingredientes para hacer un sencillo juego.

Moveremos el gato con las flechas del teclado. el gato cambiará de disfraz para parecer que va andando.

Hacer que cuando el gato toque al perro, el perro se mueva a una posición aleatoria y ladre.

Solución


En una actividad anterior hemos visto que el bloque "Si....entonces" lo podemos añadir por cuatro veces después de presionar cada tecla. En esta solución se muestra cómo poner estos bloques sólo una vez en un programa independiente dentro de la programación del Gato. Es necesario añadir el bloque "por siempre" para que se esté constantemente comprobando si el gato toca al perro.

Programación del Gato:


imagen.png
Programación del Perro:

imagen.png

3. Proyecto

3. Proyecto

Módulo 3 Proyecto

En este módulo vamos a trabajar un poco más las instrucciones aprendidas. La mejor forma es haciendo "Gamificación" es decir "Aprender jugando"

Y los niños les gusta la acción... así que vamos a ser un poco niños ;)

Pixabay.com CCO

3. Proyecto

Movimiento pez

Vamos allá primer paso ....

El primer paso que vamos a hacer es:

Realizar un programa para conseguir que el "pez persiga al ratón"

  1. Crea un nuevo objeto predeterminado que se llama "Fish" (en biblioteca - sección animales) Puedes borrar el gato que sale por defecto.
  2. Crear un programa que siempre persiga la posición del ratón. Suele venir bien definir la posición inicial donde quieres que empiece tu objeto. Si no, empezará donde acabó la última vez que se ejecutó el programa.

imagen.png

Guárdalo que lo utilizaremos más adelante

Solución


imagen.png

3. Proyecto

Movimiento tiburón

Segundo paso

Hora vamos a añadir un

*Un tiburón que se mueva según apretemos las teclas de flechas del teclado*

  1. En el mismo programa, añade el objeto de la biblioteca Shark2
  2. Haz un programa al objeto Shark 2 que se mueva según las flechas del teclado. Pista: ya lo vimos ;)

imagen.png

¡¡¡Guardarlo en el mismo fichero!!!

Solución


imagen.png

3. Proyecto

Apariencia

Tercer paso

Ahora lo que vamos a hacer es que ...

*El tiburón se desplace con sensación de estar "masticando" y poner un escenario adecuado*

Es decir, realizar un programa que:

  1. El objeto shark2 vaya cambiando de disfraz sin parar. Como hemos utilizado el sprite shark2 predefinido de la biblioteca, tiene ya los disfraces de abrir y cerrar la boca.
  2. Poner el escenario adecuado, hay uno predefinido de fondo marino (Underwater1).

Solución


imagen.png

3. Proyecto

Sonido

Cuarto paso

Algo de música ¿no? las cosas con un poco de sal saben mejor ;)

Poner una música de inicio al programa

Por ejemplo Xylo2 o la que tu quieras

image-1648544803566.jpg

Solución


imagen.png

3. Proyecto

Me largo!!!

Quinto paso

El pez pequeño si toca un borde que diga que se larga!

Por ejemplo el mensaje puede ser "Me largo !" durante 0.2 seg

imagen.png

Solución


imagen.png

3. Proyecto

Cobarde!!!

Sexto paso

El tiburón diga "Cobarde" si el pez pequeño se larga

Es decir, si el pez pequeño se toca el borde (actividad anterior), tiene que enviar un m.... y si el tiburón recibe el m.... entonces que diga Cobarde!! durante también 0.2seg

imagen.png

Solución


Exacto! lo de m.... quería decir mensaje. 


El pez pequeño envía un mensaje:

imagen.png
y el tiburón recibe el mensaje y contesta:

imagen.png

3. Proyecto

Dos jugadores

Ya toca jugar con dos jugadores. Paso final: la puntuación

Como la vida misma. ¡Si no hay premio o cuantificamos, no hay animación!

Ya te habrás imaginado que el juego está pensado para dos jugadores:

Idear un sistema de puntuación en el juego

Por ejemplo podría ser este:

Sí, ya sé que es un poco injusto que el pequeño no gane nada, pero así es la vida...

Se recomienda redimensionar los peces para que sean pequeños

imagen.png

Solución


Creamos una variable que lleve la puntuación, aquí la hemos llamado "score"

Y el reto es dónde poner la instrucción que va incrementando la puntuación "sumar a score 1"

En el programa del pez pequeño:
imagen.png

Programa del tiburón
imagen.png

Enlace al proyecto completo

Créditos

2017 por CATEDU (Javier Quintana Peiró).

2023 actualizado por CATEDU (Ana Mª López Floría)

Cualquier observación o detección de error en soporte.catedu.es

Los contenidos se distribuyen bajo licencia Creative Commons tipo BY-NC-SA excepto en los párrafos que se indique lo contrario.

image-1648462225402.gif

image-1648462299882.png

image-1648462361893.png