← Inicio ▶ Abrir el visor Reporte Rationale de la progresión

Plan de lecciones progresivo de pensamiento computacional

El porqué del orden de las actividades: cómo cada paso se apoya en el anterior, desde el primer “hola mundo” animado hasta los proyectos de síntesis.

Fase 1Fundamentos: secuencias y bucles → animaciones simples.
Fase 2Mundo real: “mapear” un sensor a una salida.
Fase 3Reacción y memoria: eventos + variables.
Fase 4Decisiones: condicionales (if / if-else / AND).
Fase 5Avanzado: bucles for/while y síntesis.

Fase 1 Fundamentos — Secuencias y Bucles

Las bases absolutas: enseñar a seguir instrucciones en orden (secuencia) y a repetirlas (bucles).

P1 El Llavero de Corazón Luminoso

Concepto: Secuencia · Bucle infinito (main_loop) · Bucles anidados (repeat)

Motivación. Es el “Hola Mundo” de la animación y la personalización. En vez de un concepto abstracto, crea un objeto físico y atractivo (un llavero, un adorno para la mochila) que conecta el código con la creatividad y con un objeto de uso diario. Es el punto de partida ideal: una sola salida, sin entrada ni mapeo.

Cómo funciona. El programa entra en un bucle infinito. Dentro, una secuencia: muestra un corazón grande, emite dos sonidos de latido y luego entra en un bucle pequeño que se repite 4 veces para una animación de vibración rápida.

Algoritmo
  1. Iniciar bucle infinito (main_loop).
  2. Dibujar imagen de “corazón grande”.
  3. Reproducir sonido de tambor.
  4. Esperar 300 ms.
  5. Reproducir sonido de tambor.
  6. Iniciar bucle repeat (4 veces).
  7. Dibujar “corazón pequeño 1” · esperar 100 ms.
  8. Dibujar “corazón pequeño 2” · esperar 100 ms.
  9. Fin del bucle repeat.
  10. Volver al paso 1.

Fase 2 Conectar con el Mundo Real — Mapeo Directo

Programas que reaccionan al instante, “traduciendo” los datos de un sensor en sonido o imagen.

P2 El Xilófono Mágico Inclinable

Concepto: Mapeo Directo (Entrada → Salida)

Motivación. Introduce la interactividad musical: una conexión intuitiva entre el gesto (inclinar) y el resultado (sonido). Sienta las bases para los siguientes proyectos.

Cómo funciona. En un bucle infinito, lee el valor de la inclinación y lo suma a una nota base; la nota resultante suena al instante.

Algoritmo
  1. Iniciar bucle infinito.
  2. Leer la inclinación Y (oriY).
  3. notaFinal = 60 + oriY.
  4. Reproducir la notaFinal · esperar 100 ms.
  5. Volver al paso 1.

P3 El Xilófono del Futuro (con LEDs)

Concepto: Mapeo a múltiples salidas

Motivación. Evolución directa del anterior: un único input (inclinación) controla varias salidas a la vez (sonido y luz), para un feedback más rico.

Cómo funciona. El valor de la inclinación se usa para dos cálculos: la nota musical y la posición de un píxel en la matriz LED.

Algoritmo
  1. Iniciar bucle infinito · limpiar la pantalla.
  2. Leer oriY · valorNota = redondear(oriY/5).
  3. notaFinal = 60 + valorNota.
  4. posicionLedY = 4 + valorNota.
  5. Reproducir notaFinal · encender LED en (X=4, Y=posicionLedY).
  6. Esperar 100 ms · volver al paso 1.

P4 El Visualizador de Música

Concepto: Generalización del mapeo

Motivación. Consolida la idea mostrando que cualquier sensor puede mapearse a cualquier salida: aquí, el ruido se transforma en color. Refuerza que es un principio universal.

Cómo funciona. Lee continuamente el nivel de ruido y lo usa como componente rojo de un color RGB; ese color ilumina toda la pantalla.

Algoritmo
  1. Iniciar bucle infinito.
  2. Leer el ruido (noise).
  3. colorDinamico = Color(R=noise, G=0, B=0).
  4. Pintar toda la pantalla con colorDinamico · volver al paso 1.

Fase 3 Reacción y Memoria — ¡El poder de los eventos!

Primero el evento como simple “disparador”; luego, combinado con variables, para darle “memoria” al programa.

P5 El Robot Cosquilloso

Concepto: Eventos puros como “triggers”

Motivación. Los eventos en su forma más simple: una causa (ruido) dispara un efecto (secuencia de risa), sin guardar estado. Primer contacto para darle vida al robot.

Cómo funciona. Está inactivo con una cara estática. Cuando detecta un aumento súbito de ruido (una palmada), reproduce una risa y anima la boca; al terminar, vuelve a su estado inicial.

Algoritmo
  1. Al iniciar: dibujar cara estática.
  2. Cuando ocurra un “aumento súbito de ruido”:
  3. Reproducir “sonido de risa”.
  4. Bucle repeat (8 veces): animar boca (abrir, esperar, cerrar, esperar).
  5. Detener sonido y volver a dibujar la cara estática.

P6 ¡El Desafío de Activación del Robot!

Concepto: Eventos que modifican una variable contadora

Motivación. Introduce las variables con un juego competitivo y temático. Tras hacerle cosquillas, el robot necesita energía: ¿quién es el primero en cargarlo tocando la pantalla? Es la forma perfecta de entender cómo una variable “cuenta”.

Cómo funciona. Una variable energia empieza en 0. Cada vez que ocurre el evento “pantalla presionada”, se incrementa en 1 y se muestra el nuevo valor.

Algoritmo
  1. Al iniciar: energia = 0.
  2. Cuando ocurra el evento “pantalla presionada”:
  3. energia = energia + 1.
  4. Escribir el valor de energia en la pantalla.

P7 El Corazón de Mi Robot Amigo

Concepto: Eventos que modifican una variable de estado

Motivación. Con el robot ya “cargado”, se desbloquea una función avanzada: cambiar su comportamiento fundamental (su “estado de ánimo”, representado por el latido) en respuesta a la interacción.

Cómo funciona. El bucle principal hace latir un corazón a una velocidad definida por las variables latidoGrande y latidoPequeño. Dos eventos (inclinar de lado o boca arriba) cambian esos valores, alterando el comportamiento del bucle.

Algoritmo
  1. Al iniciar: latidoGrande = 500, latidoPequeño = 150.
  2. En bucle infinito: animar el corazón usando esos valores.
  3. Cuando “de lado”: latidoGrande = 250, latidoPequeño = 80.
  4. Cuando “boca arriba”: latidoGrande = 500, latidoPequeño = 150.

Fase 4 Tomando Decisiones — Condicionales

Que el programa lea su “memoria” (variables) y decida qué camino tomar.

P8 ¡Alarma: El Ladrón de Galletas Secreto!

Concepto: El condicional if simple

Motivación. La introducción más suave a la lógica condicional, en un escenario divertido: proteger un tesoro.

Cómo funciona. Comprueba continuamente si la “tapa” se inclina más allá de un ángulo. Si la condición es verdadera, activa una secuencia de alarma con luz y sonido.

Algoritmo
  1. Iniciar bucle infinito.
  2. SI inclinacionX > 20 ENTONCES: ejecutar secuencia de alarma (luz, sonido, espera, apagar).
  3. Volver al paso 1.

P9 El Despertador de Girasol

Concepto: El condicional if-else

Motivación. Manejar dos caminos excluyentes (luz vs. oscuridad), con una metáfora visual y positiva.

Cómo funciona. Revisa el nivel de luz. Si supera un umbral (hay luz), reproduce una melodía y dibuja un sol; de lo contrario (oscuro), apaga todo.

Algoritmo
  1. Iniciar bucle infinito.
  2. SI intensidadLuz > 50: reproducir melodía y dibujar sol.
  3. SINO: detener melodía y apagar LEDs.
  4. Volver al paso 1.

P10 Luces de Fiesta en la Oscuridad

Concepto: Refuerzo del if-else

Motivación. Consolida aplicando la misma estructura con la condición invertida: demuestra la versatilidad de la lógica condicional.

Cómo funciona. Es lo opuesto al despertador: si hay poca luz (oscuro), animación de fiesta; de lo contrario, apaga.

Algoritmo
  1. Iniciar bucle infinito.
  2. SI intensidadLuz < 30: ejecutar animación de luces.
  3. SINO: apagar LEDs.
  4. Volver al paso 1.

P11 La Vela Mágica de Cumpleaños

Concepto: if-else basado en un estado cambiante

Motivación. El ciclo completo de la programación interactiva: un evento (soplo) modifica una variable de estado, y un condicional lee esa variable para decidir qué hacer.

Cómo funciona. Una variable flama controla si la vela está encendida. Un evento de ruido (soplo) invierte su valor. El bucle usa un if-else para mostrar la llama o dejar la pantalla apagada.

Algoritmo
  1. Al iniciar: flama = VERDADERO.
  2. Cuando “aumento súbito de ruido”: flama = no flama.
  3. En bucle infinito: SI flama es VERDADERO → mostrar animación de la llama; SINO → apagar LEDs.

P12 ¡No Derrames el Líquido! — El Juego de Pulso

Concepto: Condicionales compuestas (AND)

Motivación. Introduce los operadores lógicos de forma tangible: mantener el equilibrio exige cumplir varias condiciones a la vez.

Cómo funciona. En cada ciclo verifica si la inclinación en X e Y están dentro de un rango seguro. Solo si ambas se cumplen, el indicador es verde; si una falla, se pone rojo y suena una alarma.

Algoritmo
  1. Iniciar bucle infinito · leer inclinacionX e inclinacionY.
  2. SI (-2 < X < 2) Y (-2 < Y < 2): punto VERDE + sonido “agradable”.
  3. SINO: punto ROJO + sonido “de alarma”.
  4. Volver al paso 1.

Fase 5 Estructuras Avanzadas y Síntesis

Los últimos tipos de bucles (for y while) e integrar todo en proyectos completos.

P13 El Interruptor Mágico de Aplausos

Concepto: Síntesis de evento, variable y condicional

Motivación. Un proyecto de repaso que encapsula la lógica central (evento → variable → condicional) en una aplicación práctica y casi mágica.

Cómo funciona. Versión limpia de la vela: un evento de ruido cambia el estado de una variable booleana; inmediatamente, un if-else la lee para encender o apagar todos los LEDs.

Algoritmo
  1. Al iniciar: estado = FALSO.
  2. Cuando “aumento súbito de ruido”: estado = no estado.
  3. SI estado es VERDADERO → encender todos los LEDs; SINO → apagarlos.

P14 El Encendido y Apagado Cinematográfico

Concepto: Bucles for

Motivación. Introduce el for donde es perfecto: recorrer todos los píxeles de la pantalla para una animación de encendido/apagado gradual.

Cómo funciona. Se basa en el proyecto anterior, pero en vez de encender de golpe usa for anidados para recorrer la matriz píxel por píxel (efecto “barrido”).

Algoritmo
  1. (Lógica de evento y variable estado igual que P13.)
  2. SI estado es VERDADERO → PARA columna 1..7: PARA fila 1..7: encender LED (columna, fila) y esperar.
  3. SINO → ejecutar los for en orden inverso para apagar.

P15 La Papa Explosiva Digital

Concepto: Bucles while

Motivación. Repeticiones donde no se sabe de antemano cuántas serán. El temporizador aleatorio del juego es el ejemplo perfecto para el while.

Cómo funciona. Al presionar la pantalla se genera un tiempo aleatorio. Un while sigue activo mientras el tiempo sea mayor que cero, descontando un segundo por iteración. Al llegar a 0, el juego “explota”.

Algoritmo
  1. Cuando “pantalla presionada”: tiempo = aleatorio(5..15) · reproducir música.
  2. MIENTRAS tiempo > 0: tiempo = tiempo - 1, esperar 1 segundo.
  3. Detener música y mostrar fin del juego.

P16 El Metrónomo de DJ

Concepto: Síntesis avanzada (cálculos y tiempo)

Motivación. Integra mapeo de sensores, cálculos matemáticos, gestión de variables y una condición compleja basada en el tiempo, para crear una herramienta útil.

Cómo funciona. Lee la inclinación para calcular los BPM; a partir de ellos, el intervalo entre latidos. En un bucle, comprueba si pasó suficiente tiempo desde el último latido para generar el siguiente.

Algoritmo
  1. Al iniciar: ultimoLatido = 0.
  2. En bucle infinito: calcular bpm desde la inclinación · intervalo = 60000 / bpm.
  3. SI (tiempoActual - ultimoLatido) > intervalo: reproducir sonido y ultimoLatido = tiempoActual.
  4. Mostrar bpm · volver al paso 2.

P17 La Batalla de Aplausos

Concepto: Síntesis avanzada (gestión de estado compleja)

Motivación. Requiere una gestión cuidadosa del estado a través de varias fases (esperando, activo, terminado) para un juego competitivo.

Cómo funciona. Espera un ruido fuerte para empezar a contar el tiempo. Mientras el ruido se mantenga sobre un umbral, el cronómetro avanza. Si cesa, el juego se detiene, muestra el tiempo final y espera unos segundos antes de poder reiniciarse.

Algoritmo
  1. Al iniciar: inicio = 0, activo = VERDADERO.
  2. En bucle infinito: SI activo Y nivelDeRuido > umbral: si inicio == 0inicio = tiempoActual; mostrar tiempoActual - inicio.
  3. SINO SI inicio > 0: activo = FALSO, mostrar tiempo final, esperar 5 s, luego inicio = 0 y activo = VERDADERO.
  4. Volver al paso 2.