Unidad 6 — Domina el proceso de programación, Scratch, App Inventor, diagramas de flujo e inteligencia artificial.
Escribir líneas de código (instrucciones) para crear un programa o aplicación que resuelva un problema o satisfaga una necesidad. Se usa un lenguaje artificial diseñado para dar instrucciones a una máquina con microprocesador.
Herramienta que permite escribir instrucciones, compilarlas, traducirlas a código máquina y ejecutar el programa. Ejemplos: Visual Studio Code, Scratch, App Inventor.
JavaScript, Java, Python, C++, Visual Basic… Cada uno tiene su propio vocabulario y sus reglas. La elección correcta depende del objetivo: un videojuego, un antivirus y un coche autónomo requieren enfoques distintos.
Definir el problema / identificar la necesidad. Tener claro exactamente cuál es el problema, los datos disponibles y cómo se presentará la solución.
Analizar y resolver el problema. Investigar cómo hacer que la máquina trabaje con los datos. Elegir el lenguaje de programación adecuado y estudiar los parámetros, operaciones y algoritmos necesarios. Representar la lógica en un diagrama de flujo.
Programar. Usar el lenguaje elegido para escribir el código real.
Comprobar y depurar. Verificar que el programa cumple los requisitos del paso 1. Corregir los errores (bugs). ¡Compartir si funciona!
Conjunto finito y ordenado de pasos que resuelve un problema. Debe tener un inicio y fin claros, y cada paso debe ser inequívoco.
Diagrama visual que representa un algoritmo mediante formas estandarizadas conectadas por flechas.
Herramienta recomendada: Flowgorithm (gratuita, online) — dibuja el diagrama de flujo y genera automáticamente código en varios lenguajes.
| Forma | Significado |
|---|---|
| Óvalo ⬭ | Inicio / Fin |
| Rectángulo □ | Proceso / acción |
| Paralelogramo ▱ | Entrada / Salida |
| Rombo ◇ | Decisión (Sí / No) |
| Flecha → | Flujo de control |
Una tienda vende manzanas a 1,20 €/kg. Descuento del 10 % si supera los 3 kg. Calcular precio total. → Datos, Operaciones, Resultado.
Lienzo de 480 × 360 px donde ocurre la acción. Centro de coordenadas en (0,0).
Personajes u objetos en el escenario. Cada uno tiene sus propias rutinas (código).
Imágenes de fondo del escenario. Elige de la biblioteca o crea los tuyos propios.
Bloques organizados por categoría con código de color: Movimiento, Apariencia, Sonido, Eventos, Control, Sensores, Operadores, Variables.
Cada Objeto puede tener varios disfraces para crear efectos de animación.
Arrastra y suelta bloques aquí para escribir las rutinas del programa.
Contenedores que almacenan datos — números, nombres, texto — utilizados a lo largo del programa. En Scratch: Crear una variable en la paleta Variables.
Realizan operaciones aritméticas (+, −, ×, ÷), generan números aleatorios y comprueban si los datos son correctos (comparaciones, lógica booleana).
Ejecutan un conjunto de instrucciones solo cuando se cumple una condición. Se encuentran en la pestaña Control. Estructura: si … entonces … si no …
Repiten un conjunto de instrucciones un número determinado de veces o hasta que se cumpla una condición. Tipos: repetir n veces, por siempre, repetir hasta que.
Un juego donde un buzo recoge plástico mientras evita a un tiburón. Requiere: un fondo (océano), 3 objetos (Buzo, Tiburón, Plástico), un bucle por siempre para el tiburón, condicionales para detectar colisiones y una variable para la puntuación.
Juego de captura con un Gato, Frutas y Tartas que caen, una variable puntuación, una lista CestaFrutas para registrar los objetos recogidos, y rutinas para control por teclado, cambio de disfraz, puntuación y fin del juego.
scratch.mit.edu — gratuito, basado en navegador, sin instalación. Inicia sesión para guardar y compartir proyectos.
Herramienta online gratuita del MIT para diseñar y desarrollar apps para dispositivos Android. El enfoque de programación es por bloques, muy similar a Scratch. Accede en ai2.appinventor.mit.edu
| # | Zona | Función |
|---|---|---|
| 1 | Barra de menú | Gestionar proyectos, cambiar idioma |
| 2 | Barra de ventana | Nombre del proyecto, controla ventanas |
| 3 | Paleta | Componentes para construir la app (por categoría) |
| 4 | Visor | Vista previa del diseño en pantalla |
| 5 | Componentes | Lista de elementos añadidos a la app |
| 6 | Multimedia | Cargar imágenes, audio y vídeo |
| 7 | Propiedades | Fuente, ubicación, fondo, imagen… |
Todos los bloques de programa organizados por tipo: Control, Lógica, Matemáticas. Con código de color como Scratch.
Arrastra y combina bloques aquí para escribir la lógica del programa.
Arrastra bloques aquí para eliminarlos.
Compilar → Generar código QR (.apk) → escanear con tu móvil Android usando la app MIT AI2 Companion. Sin cables.
Problema: Crear una app sencilla para niños que muestre una granja. Cada animal emite su sonido al ser tocado.
Diseño: Un Lienzo (como el Escenario de Scratch). Dos ImagenSprite (Oveja, Gallina). Fondo: Granja.jpg. Archivos de sonido: beee.mp3, clo.mp3.
Bloque clave: cuando ImagenSprite1.Tocado → hacer llamar Sonido1.Reproducir
Prueba: Comprobar, corregir errores. Instalar con Compilar → código QR.
Problema: Un juego de preguntas que muestra monumentos famosos de la región. 4 botones de respuesta y un botón Siguiente.
Componentes clave: Imagen1 (foto del monumento), EtiquetaPregunta (texto de la pregunta), ArregloHorizontal1 (fila de botones), etiqueta AciertosErrores (retroalimentación), botón Siguiente.
Variables usadas: listaPreguntas (lista ordenada), listaRespuestas, listaImagenes, numPregunta (registra la pregunta actual).
Lógica del botón Siguiente: Borrar texto AciertosErrores → incrementar numPregunta → si es el final de la lista, volver a 1 → actualizar la etiqueta Pregunta y la Imagen.
Las listas almacenan datos ordenados. Usa seleccionar elemento de lista … índice … para recuperar un elemento concreto. Las listas son esenciales para apps de preguntas, bases de datos y catálogos.
Herramienta gratuita basada en navegador (blockscad3d.com/editor) que usa bloques para diseñar piezas 3D — exportables directamente para impresión 3D. Une la lógica de programación con la fabricación física.
Formas básicas: esfera, cilindro, cubo. Se combinan con operaciones booleanas (unión, diferencia, intersección).
Usa bucles de repetición para generar matrices de objetos — por ejemplo, 10 moldes de epoxi para LED espaciados automáticamente.
Haz clic en Renderizar para ver el objeto 3D final. Exporta como .STL para impresión 3D.
Cilindro base (r=2,9, h=1,0) → restar cubo desfasado para la ranura → añadir cilindro central → incorporar esfera (r=2,5, z=6,2). El programa usa operaciones difference() y union() — la misma lógica que los condicionales en código.
Datos: ¿Qué entradas necesita el algoritmo?
Operaciones: ¿Qué cálculos o decisiones son necesarios?
Resultado: ¿Cuál debe ser la salida?
Precio 1,20 €/kg. Descuento del 10 % si >3 kg. El diagrama de flujo tiene un rombo de decisión: "¿peso > 3?" → la rama SÍ aplica el descuento, la rama NO no lo aplica.
Flowgorithm permite ejecutar el diagrama paso a paso Y exportarlo como Python, Java, C++, etc. — un excelente puente entre la lógica visual y el código de texto.
Simulación de la propagación de una pandemia con el bloque crear clon de… de Scratch, una variable de datos llamada infecciones y un cronómetro para medir la tasa de infección en el tiempo.
Sano, Infectado, Línea, Rastreador — cuatro objetos con distintos disfraces.
Crear 50 clones (gatitos). Si un clon Sano toca a uno Infectado → crear nuevo clon Infectado, infecciones += 1.
Una lista llamada datos registra las infecciones cada 2 segundos. Exportar a hoja de cálculo para análisis.
infecciones (contador entero), cronómetro (temporizador integrado de Scratch). Condición: mascarilla o sin mascarilla cambia la probabilidad de infección.
Esto es modelado computacional — el mismo principio que usan los científicos para modelar epidemias reales. Cambiar la condición de mascarilla equivale a modificar un parámetro en un modelo científico real. Los datos recogidos pueden analizarse en Google Sheets o LibreOffice Calc.
La inteligencia que poseen las máquinas: la capacidad de percibir su entorno, razonar, comunicarse y aprender. Los programas de IA no saben exactamente qué hacer con los datos — deben descubrirlo por sí mismos aprendiendo patrones a partir de ejemplos.
Una rama de la IA donde el ordenador aprende a partir de ejemplos etiquetados en lugar de seguir reglas fijas. Se usa en reconocimiento de imágenes, traducción automática y filtros de spam.
Un tipo de aprendizaje automático con redes neuronales (capas de algoritmos inspirados en el cerebro humano). Impulsa los asistentes virtuales y los vehículos autónomos.
Objetos cotidianos equipados con sensores que envían datos a la nube. Termostatos inteligentes, contenedores de residuos conectados, dispositivos portátiles.
Un proyecto real: contenedores inteligentes que usan IA + IoT para predecir el volumen de residuos y optimizar las rutas de recogida, reduciendo el consumo de combustible y la contaminación.
Elegir el tipo de entrada: texto, imágenes, números o sonidos. Para el clasificador de residuos, elige texto.
Crear etiquetas (clases): p. ej. "Papel", "Plástico", "Vidrio", "Orgánico", "General". Son las categorías que aprenderá la IA.
Añadir datos de entrenamiento: Escribe tantos ejemplos de cada tipo como puedas. Intenta tener un número similar de ejemplos por etiqueta.
Entrenar el modelo: Haz clic en Entrenar. El algoritmo encuentra patrones en tus ejemplos.
Aprender y probar → Crear: Prueba con nuevas entradas. Si el modelo falla, añade más datos de entrenamiento para esa clase y vuelve a entrenar.
Importar a Scratch: Aparecen nuevos bloques de ML en la paleta. Úsalos en tu juego para clasificar residuos en tiempo real.
Un juego en Scratch donde los residuos caen desde arriba y el jugador los coloca en el contenedor correcto. Conecta el modelo de ML para que la IA clasifique el residuo automáticamente. Añade un marcador y una lista con los residuos recogidos por contenedor.
Sensores que predicen necesidades de riego. Drones que controlan plantaciones y detectan plagas. Robots autónomos que realizan tareas agrícolas.
Predecir necesidades energéticas y condiciones óptimas para la producción eólica y solar. Reduce el desperdicio y mejora la eficiencia de la red.
Sistemas de visión artificial en centros de reciclaje que clasifican residuos más rápido y con más precisión que los humanos.
Vehículos autónomos que optimizan el flujo de tráfico. La IA propone rutas alternativas para reducir atascos y emisiones de CO₂.
Análisis de imágenes satelitales que detecta cambios en la vegetación, escasez de agua y especies invasoras de forma temprana.
Chatbots que asisten a personas mayores. La IA analiza grandes datos biológicos para predecir y prevenir enfermedades.
Destrucción de empleos, gran demanda energética para entrenar modelos, tendencia a reproducir los sesgos (raza, género, edad) de sus creadores a través de datos discriminatorios. El pensamiento crítico sobre los sistemas de IA es una competencia digital clave.
Productos diseñados deliberadamente para fallar o quedarse obsoletos rápidamente → impulsa el sobreconsumo. Parte de la economía lineal extraer-fabricar-tirar.
Mantiene los materiales en uso el mayor tiempo posible. Objetivo: cero residuos, cero contaminación, regeneración de la naturaleza.
Rechazar → Replantear → Reducir → Reutilizar → Reparar → Renovar → Refabricar → Reproponer → Reciclar. En ese orden de prioridad.
Minimiza el plástico de un solo uso. Reutiliza envases. Compra a granel. Antes de reciclar, reduce — el reciclaje sigue costando energía y materiales.
El viento y el sol son variables. Para alcanzar la neutralidad climática, necesitamos almacenar energía para cuando se necesite — no solo cuando se produce.
| Tecnología | Cómo funciona | Escala |
|---|---|---|
| Baterías | Reacciones químicas entre dos electrodos + electrolito. Li-ion: teléfonos, vehículos eléctricos. Ni-MH: electrónica. LiPo: mayor densidad energética. | Pequeña–grande |
| Supercondensadores de grafeno | Se cargan en segundos, alta potencia de salida. Miniaturizados para dispositivos portátiles e IoT. | Micro–media |
| Imanes superconductores | Sin pérdida de energía — pero necesitan temperaturas criogénicas. | Grande |
| Hidroeléctrica por bombeo | Se bombea agua cuesta arriba con exceso de energía; se suelta para generar electricidad a demanda. La más común en Europa. | Red eléctrica |
| Aire comprimido | Almacenar aire comprimido en depósitos; soltarlo para impulsar generadores. | Red eléctrica |
| Almacenamiento térmico | Almacenar calor o frío; reconvertirlo en electricidad. | Grande |
| Hidrógeno | Base de las células de combustible. Producción mediante electrólisis con electricidad renovable. Alta densidad energética pero requiere fuente renovable. | Red eléctrica |
Las actividades marcadas como ★ Ampliación pueden formar parte del porfolio del proyecto. Documenta siempre tu proceso: definición del problema, decisiones de diseño, evidencias de prueba y conclusiones.
Elige uno de los siguientes problemas y diseña un diagrama de flujo completo con Flowgorithm o en papel:
(a) Un programa que pide la nota de un alumno (0–10) y muestra: Insuficiente (<5), Suficiente (5–6), Bien (7–8) o Sobresaliente (9–10).
(b) Un programa que calcula el área de un círculo dado el radio, aplicando un recargo del 15 % si el área > 50 m².
Exporta el diagrama de Flowgorithm y genera automáticamente el código en Python. Compara el diagrama y el código con una breve reflexión escrita.
Recrea (o amplía) el juego "Limpiando nuestros océanos" de la unidad. Requisitos:
· Objeto Buzo controlado por las flechas del teclado (rutina del buzo).
· Objeto Tiburón que siempre sigue al buzo (bucle infinito + apuntar hacia).
· Objeto Plástico que se repite continuamente con un disfraz aleatorio en cada ciclo.
· Variable puntuación: +1 por cada plástico recogido. El juego termina cuando el tiburón toca al buzo.
Ampliación: Añade una variable cronómetro y muéstrala en pantalla. Crea un sistema de récords usando una lista.
Abre la simulación de la pandemia de la unidad (o recréala). Ejecuta la simulación tres veces: (1) sin mascarillas, (2) uso de mascarilla al 50 %, (3) uso de mascarilla al 100 %. Exporta la lista de datos de infecciones cada vez. Impórtala en Google Sheets, crea un gráfico de líneas que superponga los tres escenarios y redacta una conclusión analítica de 150 palabras: ¿cómo afecta el uso de mascarillas al pico de infecciones y a la tasa de contagio? ¿Qué implicaciones tiene esto para las políticas sanitarias reales?
Crea tu propia app de preguntas sobre el tema que elijas (historia, ciencias, geografía de Murcia…). Requisitos:
· Mínimo 8 preguntas almacenadas en una listaPreguntas.
· Listas correspondientes de respuestas e imágenes.
· La etiqueta AciertosErrores da retroalimentación inmediata.
· Contador de puntuación visible en pantalla.
· Al final, una pantalla con la puntuación total y opción de reiniciar.
Instálala en un dispositivo Android real mediante código QR. Graba un breve vídeo de demostración.
Con machinelearningforkids.co.uk, entrena un clasificador de texto con al menos 5 categorías de residuos (Papel, Plástico, Vidrio, Orgánico, General) y más de 15 ejemplos por clase. Prueba la precisión de tu modelo. Después intégralo en un juego de Scratch donde:
· Los residuos caen desde la parte superior del escenario.
· El jugador escribe o hace clic en el contenedor correcto.
· El modelo de ML verifica si el tipo de residuo coincide con el contenedor.
· Se muestran un marcador y un resumen de los residuos al final del juego.
Documenta el proceso de entrenamiento del modelo con capturas de pantalla.
Diseña un objeto 3D funcional en BlocksCAD usando al menos 3 primitivas (cilindro, cubo, esfera), al menos una operación booleana (diferencia o unión) y al menos un bucle (p. ej. para repetir un patrón). Objetos sugeridos: soporte de bolígrafos personalizado, un conjunto de peones de ajedrez, una escuadra paramétrica. Exporta el archivo .STL y, si es posible, prepáralo para el laminado con PrusaSlicer u OrcaSlicer. Redacta un breve diario de diseño explicando cada paso y la lógica de programación utilizada.
Elige 5 productos electrónicos que uses habitualmente (teléfono, portátil, auriculares, consola de videojuegos, tablet). Para cada uno, investiga:
(a) Indicadores de obsolescencia programada (¿cuánto tiempo hasta que deja de tener soporte o se estropea?).
(b) Puntuación de reparabilidad (consulta ifixit.com).
(c) Cuál de las 9 R's aplica cuando llega al final de su vida útil.
Presenta tus resultados en una presentación de Google Slides (1 diapositiva por producto). Concluye con un ranking de sostenibilidad de la clase y tres recomendaciones concretas.
12 preguntas sobre todos los apartados de la Unidad 6. Selecciona tu respuesta — la corrección es inmediata. Comprueba tu puntuación total al final. Cada pregunta tiene una sola respuesta correcta.