
Se describen los objetivos del curso, a quienes va dirigido y las posibilidades que nos brinda conocer un lenguaje de programación como Scratch. Nota: El curso aunque utiliza la versión 2 de Scratch es totalmente compatible para ser ejecutado en la versión 3, simplemente se abre el proyecto en la nueva versión y se utiliza sin problemas. En la actualización del curso se han incorporado las explicaciones para quien quiera seguir el curso utilizando Scratch 3.
Se realiza una introducción al concepto del pensamiento computacional y los cambios que se están extendiendo en los currículos escolares del mundo entero para dar cabida a estos conocimientos desde la escuela primaria.
Para aprender el pensamiento computacional cualquier versión es buena. El curso se ha desarrollado utilizando principalmente la versión 2 de Scratch pero respecto a la versión 3 las diferencias de codificación son prácticamente nulas. Todos los proyectos de las prácticas del curso se pueden realizar en cualquiera de las versiones. Además, al final del curso se añaden proyectos desarrollados directamente en Scratch 3. Quienquiera utilizar Scratch 3 puede hacerlo, simplemente se deberá adaptar a una disposición diferente de los paneles de la interfaz.
En esta lección se aprenderá a configurar el ordenador para poder utilizar Scratch tanto offline como online.
El primer paso para dominar un software es conocer su interfaz de desarrollo y las funciones disponibles. Scratch integra en una única interfaz el área de diseño, desarrollo y prueba. En esta lección se explican todos los paneles y menús disponibles.
Esta lección nos sirve para comprobar que nuestro entorno de desarrollo está completamente operativo y funcional. El proyecto que se crea es simple pero es suficiente para cumplir el objetivo de verificación antes de seguir adelante.
El sitio web de Scratch será como nuestro segundo hogar de desarrollo, en esta lección aprenderemos a registrarnos en la comunidad de usuarios y a conocer las pequeñas diferencias que existen respecto a la versión offline.
En esta sección se desarrollan 3 proyectos utilizando la versión 2. En estas notas se remarcan las diferencias, que son mínimas, para quien desee hacer los proyectos utilizando la versión 3.
En esta lección se toma contacto con la categoría Movimiento y se hace la primera animación de un objeto.
Una de las estructuras básicas de la programación es el bucle de repetición... en esta lección tomaremos contacto con este concepto de manera básica.
En la categoría Apariencia existen unos bloques fundamentales, decir y pensar, para hacer viñetas y diálogos como en los cómics. En esta lección aprenderemos a utilizarlos.
La programación orientada a objetos tiene uno de sus pilares en la reacción a los eventos que suceden. La categoría Eventos de Scratch reúne una serie de bloques que definen situaciones que pueden suceder y cada evento representa el inicio de un programa dentro del proyecto. En esta lección tomaremos contacto con este concepto y más adelante lo seguiremos tratando.
En los videojuegos es fundamental poder gestionar animaciones y Scratch utiliza para eso la categoría Apariencia. Cada objeto puede adoptar diferentes posturas y esto se gestiona mediante el uso de disfraces. En esta lección veremos la importancia de dominar este tema.
Ya hemos utilizado escenarios y objetos desde la primera práctica... aquí veremos las funciones que nos permiten duplicar objetos y copiar código entre objetos.
El teclado es un dispositivo de entrada que nos permite dar órdenes al programa; con el teclado podemos controlar objetos y para esto nos aprovechamos de unos eventos de teclado que nos facilitan la tarea de tener que detectar la pulsación de teclas durante la ejecución de un programa.
Otro elemento fundamental para comunicarse con el programa es el ratón, tanto sus clics como su posicionamiento. Aprenderemos a animar objetos que responde n al movimiento del ratón.
La posibilidad de gestionar valores aleatorios nos abre un mundo de posibilidades para permitir automatismos dentro del programa; el control de colisiones es un elementos básico y fundamental en cualquier aplicación de juegos. En esta lección veremos como sacar provecho de estas funcionalidades en Scratch.
En esta lección se aclaran los detalles que cambian en las prácticas de esta sección para el alumno utilice la versión 3 de Scratch.
Conocer el terreno de juego, es decir el escenario, es fundamental para el desarrollador y en esta lección se explica detalladamante el sistema de coordenadas y de direccionamiento que utiliza Scratch. También aprenderemos el concepto de punto central de un objeto.
En la lección anterior hemos aprendido el sistema de coordenadas de Scratch... ahora practicaremos movimiento y colisiones utilizando los nuevos conocimientos.
En esta lección se aclaran los detalles que cambian en las prácticas de esta sección para el alumno utilice la versión 3 de Scratch.
En esta lección se aprenderá el concepto fundamental de la selección y los tipos de selectores que tiene Scratch: Si... entonces, Si... entonces... si no. Y estuadiaremos cómo anidar selecciones y las razones por las que a veces hay que utilizarlas.
Las selecciones serían imposibles sin condiciones. En esta lección aprenderemos a definir condiciones simples y a cómo crear condiciones compuestas unidas por Y/O.
La práctica planteada como ejercicio y después resuelta paso a paso para comparar las soluciones. En programación no hay una única solución para cada programa.
En esta lección se aclaran los detalles que cambian en las prácticas de esta sección para el alumno utilice la versión 3 de Scratch.
El estilo de rotación es un concepto que suele dar dolores de cabeza al principio... en esta lección quedará claro el concepto con un ejemplo simple y definitivo.
La animación de objetos es un factor importante en todo videojuego. Además del cambio de disfraces, Scratch ofrece la posibilidad de hacer cambios gráficos mediante cambios de color, tamaño, y otras deformaciones. En esta lección analizaremos todas las posibilidades que nos ofrece Scratch.
En la práctica PS603 se combina ritmo con movimiento y afortunadamente Scratch es muy flexible para regular las dos cosas; tanto el sonido como el desplazamiento. En esta lección se muestra cómo es posible sincronizar el movimiento de una bailarina con la música.
Otra práctica planteada como ejercicio y después resuelta paso a paso para comparar las soluciones. Recordemos que en programación no hay una única solución para cada programa.
El control de objetos mediante la cantidad y dirección de movimiento detectaddo por la webcam es rudimentario pero funciona. En esta lección, con un poco de imaginación, le sacamos provecho a esta funcionalidad.
En esta lección se aprende a reaccionar al nivel de volumen del micrófono; a partir que detectamos una variación de volumen podemos hacer que sucedan cosas en respuesta. Es una funcionalidad que resulta útil en muchas situaciones de un juego.
En esta lección analizamos a fondo las variables; las hemos utilizado en muchas prácticas pero sin entrar en detalles de tipo ni ciclo de vida. Las variables es otro de los conceptos fundamentales de la programación y en esta lección y las siguientes de esta sección no se queda nada sin estudiar.
Las variables predeterminadas de Scratch son unas cuantas pero poco podríamos hacer si no pudiéramos crear nustras propias variables. En esta lección vemos la diferencia entre variable local y global.
Las listas son variables que bajo un nombre común puede almacenar una gran cantidad de elementos. En esta lección se aprenden todas las operaciones que se pueden realizar con las listas.
Un ejemplo práctico del uso de variables: el control de un score.
Scratch nios permite diversas maneras de obtener imágenes para nuestros objetos y escenarios; en esta lección utilizaremos la biblioteca y también conoceremos de qué manera se pueden seleccionar imágenes de la web para no tener problemas con el copyright.
El editor de Scratch es un Paint algo más sofisticado; en esta lección veremos cómo utilizarlo y cómo hacer deformaciones en gráficos vectoriales.
La experiencia nos enseña mucho y los programadores hemos aprendido que antes de comenzar a teclear conviene pensar. En esta lección aprenderemos las razones.
No pensemos que el programa que estamos haciendo tendrá una vida efímera... lo más probable es que luego de funcionar correctamente se nos ocurran optimizaciones. Y quizá no seamos nosotros quienes modifiquen el programa. O si somos nosotros mismos, seis meses después de programarlo ¿cuánto tiempo tardaremos en entender la lógica? En esta lección se enseñan las razones por las que se recomienda documentar bien el código.
Un código organizado es más fácil de hacerlo funcionar y de mantener. En esta lección se enseñan las ventajas de centralizar ciertas fucniones que uso general.
Las subrutinas es la respuesta a la necesidad de eliminar código repetitivo. Un código compacto es más fácil de mantener. En esta lección lo demostramos en la práctica.
La programación orientada a objetos necesita un mecanismo de comunicación entre objetos... los mensajes son la respuesta a esta necesidad y en esta lección se aprenderá a sacar provecho de esta funcionalidad.
Otra práctica planteada como ejercicio y después resuelta paso a paso para comparar las soluciones. Recordemos que en programación no hay una única solución para cada programa.
En esta lección se da un enfoque diferente al modo de enfrentarnos a la creación de un algoritmo. Muchas veces en un diagrama en papel las cosas se ven más claras. En esta lección aprenderemos a crear diagramas de lógica.
Una práctica de un diagrama de lógica para afirmar el concepto.
En esta práctica utilizaremos listas, cronómetro y pantallas de ganador y perdedor. Una práctica bastante completa.
Este curso tiene un doble objetivo; el primero es claro: la enseñanza de un lenguaje de programación al alcance de todos con el que podrán divertirse creando videojuegos de toda la complejidad que nos permita la imaginación, aplicaciones educativas y creaciones artítisticas interactivas de diverso tipo, todo con una asombrosa curva de aprendizaje... en pocos minutos de curso ya se visualizarán resultados, lo que facilita la rápida comprensión de los conceptos. Iremos paso a paso... no doy por sabido nada, por lo que cada detalle se explicará porqué y para qué se hace.
El segundo objetivo es menos evidente: el desarrollo y el ejercicio del pensamiento computacional que es el proceso que nos permite formular problemas de manera que sus soluciones pueden ser representadas como secuencias de instrucciones y algoritmos. Al enfrentarnos a un problema... es pensar cómo lo resolvería un programa de ordenador. Y estos conceptos los aplicaremos al programar con Scratch... pero nos servirán en su totalidad si luego pasamos a estudiar un lenguaje más profesional, como Java, C, C++, etc. El alumno en este curso adquirirá los fundamentos de la programación... jugando. Y el pensamiento computacional, una vez que se aprende, es como andar en bicicleta,... no lo olvidaremos más.
¿Y porqué Scratch? El MIT creó este lenguaje pensando en los niños y eso fue una idea genial porque nos ha dado un lenguaje que, a diferencia de los típicos lenguajes de toda la vida, no es un jeroglífico ilegible sino que los programas se crean simplemente apilando bloques, como jugando al Lego. Y ya que tenemos un lenguaje de aprendizaje rápido, intuitivo, divertido... y gratuito... ¿por qué no lo va a aprovechar el resto de la humanidad?
Todos los programas del curso funcionan con las versiones 2 y 3 de Scratch.
Vamos ¡a aprender!