Recursos para docentes y bibliotecarios
Introducción a la Programación en Python
Guía de facilitación para talleres, bibliotecas y aulas
Este currículo está escrito para el adulto que dirige la sesión: personal de biblioteca con un club de programación, un maestro que agrega una unidad de enriquecimiento, una persona voluntaria en un taller o un padre que guía a un solo estudiante. No hace falta experiencia en programación: cada lección te dice qué decir y qué observar.
Antes de empezar
- Para quién es
- 3.º a 6.º grado, sin experiencia previa
- Duración
- 8 lecciones, 50-60 minutos cada una
Lo que necesitan los estudiantes
- Una computadora, laptop o Chromebook con un navegador web moderno (Chrome, Edge, Safari o Firefox).
- Una conexión a internet para abrir las páginas de las lecciones y cargar el área de juego de Python en el navegador.
- Opcional: papel para planear el código y audífonos si se trabaja en las lecciones de forma individual.
Cómo dar una sesión en una biblioteca o en el aula
- Abre la página de la lección de la semana y lean juntos, en grupo, La idea y el vocabulario.
- Demuestra el código inicial una vez en una pantalla compartida, ejecutándolo para que todos vean la salida.
- Dales tiempo a los estudiantes para ejecutar el código inicial por su cuenta y probar el mini reto.
- Circula mientras trabajan, usando las preguntas sugeridas para comprobar que entendieron.
- Cierra con el reto de depuración y la pregunta de reflexión como discusión de todo el grupo.
- Calcula de 50 a 60 minutos. Si falta tiempo, el mini reto o la reflexión pueden mandarse a casa.
Cómo apoyar a estudiantes que nunca han programado
- Recuérdales que los mensajes de error son parte normal de programar, no una señal de fracaso.
- Anímalos a escribir los cambios a mano en lugar de copiarlos, para que la sintaxis se les quede.
- Empareja a quien programa por primera vez con un compañero, o siéntalo donde puedas revisar seguido.
- Lee el código en voz alta en palabras sencillas ("print muestra este texto en la pantalla") para construir vocabulario.
- Deja que quien termine antes pruebe el reto de ampliación en lugar de esperar al grupo.
Guía de facilitación lección por lección
Una sección por semana. Cada una está escrita para que puedas dirigirla sin saber programar.
Semana 1
¿Qué es Python?
Objetivo de la lección
Los estudiantes entienden que el código es un conjunto de instrucciones ordenadas y escriben su primer programa usando print().
Materiales necesarios
- Computadoras o tabletas con un navegador web
- La página de la lección de la Semana 1 abierta en el área de juego
- Opcional: un pizarrón para escribir juntos ejemplos de líneas print()
Qué explicar
- Un programa es una lista de instrucciones que la computadora sigue en orden, de arriba hacia abajo.
- print() muestra en la pantalla exactamente lo que está dentro de las comillas.
- Cada print() necesita paréntesis, y el texto necesita comillas alrededor.
Errores comunes de los estudiantes
- Dejar el texto sin comillas, como print(Hola) en lugar de print("Hola").
- Paréntesis faltantes o mal emparejados.
- Esperar que la computadora adivine el significado: imprime exactamente lo que se escribe.
Preguntas para hacer
- ¿Qué crees que va a imprimir esta línea antes de ejecutarla?
- ¿Qué pasa si intercambiamos el orden de dos líneas print?
- ¿Por qué la computadora mostró un error en esta línea?
Extensión opcional
Agrega una línea en blanco a tu tarjeta escribiendo print() sin nada dentro de los paréntesis. Úsala para dividir tu tarjeta en dos secciones ordenadas.
Si hay pocas computadoras
Jueguen a "instrucciones de robot": un estudiante le da a otro órdenes habladas paso a paso para dibujar una figura simple. Los pasos faltantes o desordenados muestran qué tan literalmente siguen las instrucciones las computadoras.
Semana 2
Variables y tipos de datos
Objetivo de la lección
Los estudiantes guardan información en variables y las usan para construir frases con print().
Materiales necesarios
- Computadoras con navegador y la página de la lección de la Semana 2
- Opcional: sobres etiquetados o notas adhesivas para representar las variables como cajas
Qué explicar
- Una variable es una caja con etiqueta que guarda un valor que puedes reutilizar.
- Los valores de texto (cadenas) van entre comillas; los valores numéricos no.
- Una f-string te deja meter una variable dentro de una frase usando llaves.
Errores comunes de los estudiantes
- Poner comillas alrededor del nombre de una variable dentro de una f-string, lo que imprime el nombre en vez de su valor.
- Ponerle comillas a números que deberían seguir siendo numéricos.
- Nombrar las variables de forma inconsistente, con espacios o mayúsculas sueltas.
Preguntas para hacer
- ¿Qué hay guardado en esta variable ahora mismo?
- ¿Cuáles de estos valores son texto y cuáles son números?
- ¿Cómo podríamos describir a otra persona sin reescribir cada línea?
Extensión opcional
Agrega una variable numérica llamada mejor_puntaje e imprime una frase que use tanto nombre como mejor_puntaje, por ejemplo: El mejor puntaje de Alex es 25.
Si hay pocas computadoras
Reparte sobres etiquetados (nombre, edad, animal favorito) y pide a los estudiantes que metan un papelito en cada uno. Leer los sobres en voz alta representa cómo una variable guarda y reutiliza un valor.
Semana 3
Entrada e interacción
Objetivo de la lección
Los estudiantes usan input() para recoger respuestas y responder a ellas, convirtiendo un programa en una conversación de ida y vuelta.
Materiales necesarios
- Computadoras con navegador y la página de la lección de la Semana 3
- Opcional: un guion impreso para el juego de roles del chatbot sin computadora
Qué explicar
- input() hace una pregunta y se detiene hasta que el usuario escribe una respuesta y presiona Enter.
- La respuesta se puede guardar en una variable y usar más adelante en el programa.
- input() siempre devuelve texto.
Errores comunes de los estudiantes
- Olvidar las comillas alrededor del texto de la pregunta dentro de input().
- Esperar que el programa siga antes de que el usuario presione Enter.
- Intentar hacer matemáticas con una respuesta sin convertirla en número (eso viene la próxima semana).
Preguntas para hacer
- ¿Dónde se detiene el programa y espera al usuario?
- ¿En qué se diferencia esto del programa de la semana pasada, que solo imprimía?
- ¿Qué debería responder el programa usando la respuesta?
Extensión opcional
Pide el nombre del jugador y su juego favorito, luego imprime una frase que use los dos, como: ¡Alex está listo para jugar futbol!
Si hay pocas computadoras
Hagan un juego de roles de chatbot: un estudiante es el programa y solo puede responder usando un guion impreso más las respuestas que le dé el usuario. Muestra cómo la entrada alimenta la respuesta.
Semana 4
Condicionales
Objetivo de la lección
Los estudiantes usan if, elif y else para que el programa haga cosas distintas según la respuesta.
Materiales necesarios
- Computadoras con navegador y la página de la lección de la Semana 4
- Opcional: un pizarrón o espacio en el piso para dibujar o caminar un árbol de decisiones
Qué explicar
- Una condición es una pregunta que es verdadera o falsa.
- El código con sangría debajo de un if se ejecuta solo cuando su condición es verdadera.
- elif y else se encargan de los demás casos.
- Comparar valores usa dos signos de igual (==); un solo signo de igual (=) guarda un valor.
Errores comunes de los estudiantes
- Usar = en lugar de == al comparar dos valores.
- Olvidar la sangría del código bajo if, elif o else.
- Olvidar que las comparaciones de texto distinguen mayúsculas ("Tierra" no es "tierra").
Preguntas para hacer
- ¿Qué condición estamos comprobando aquí?
- ¿Qué rama se va a ejecutar si la respuesta es esta?
- ¿Por qué el programa eligió esa respuesta?
Extensión opcional
Conviértelo en un cuestionario de personalidad: haz una pregunta de "qué prefieres" e imprime un resultado distinto para cada opción usando if, elif y else.
Si hay pocas computadoras
Hagan un árbol de decisiones en el piso con cinta o letreros: los estudiantes contestan una pregunta de sí o no y caminan a la rama que corresponde. Hace visible el if/elif/else.
Semana 5
Bucles
Objetivo de la lección
Los estudiantes usan un bucle while para repetir acciones y darle al jugador más de un intento.
Materiales necesarios
- Computadoras con navegador y la página de la lección de la Semana 5
- Opcional: papel para el juego de adivinar mayor/menor sin computadora
Qué explicar
- Un bucle repite código para que no tengas que volver a escribirlo.
- Un bucle while sigue mientras su condición se mantenga verdadera.
- Algo dentro del bucle debe hacer que la condición se vuelva falsa en algún momento, o se ejecuta para siempre.
- int() convierte el texto escrito en un número para poder compararlo.
Errores comunes de los estudiantes
- Escribir un bucle cuya condición nunca se vuelve falsa (un bucle infinito).
- Olvidar int(), así que un "7" escrito nunca es igual al número 7 y el bucle nunca termina.
- Olvidar los dos puntos al final de la línea while.
Preguntas para hacer
- ¿Qué tiene que pasar para que este bucle se detenga?
- ¿Qué cambia en cada vuelta del bucle?
- ¿Por qué este bucle podría ejecutarse para siempre, y cómo lo arreglaríamos?
Extensión opcional
Cambia el rango a 1 a 100 y dale al jugador solo 7 intentos. Detén el bucle e imprime ¡Se acabaron los intentos! si se le agotan.
Si hay pocas computadoras
Jueguen a adivinar en papel: un estudiante piensa un número del 1 al 10 mientras otro adivina y recibe "más alto" o "más bajo". Contar los intentos representa el bucle y la comparación.
Semana 6
Funciones
Objetivo de la lección
Los estudiantes definen y llaman funciones para reutilizar código y mantener los programas organizados.
Materiales necesarios
- Computadoras con navegador y la página de la lección de la Semana 6
- Opcional: una tarjeta de receta impresa para representar una función reutilizable
Qué explicar
- Una función es una receta reutilizable: la defines una vez y luego la llamas cuando la necesites.
- def crea una función; escribir su nombre con paréntesis la llama.
- Un parámetro es una entrada que la función acepta, escrita dentro de sus paréntesis.
- Definir una función no la ejecuta; llamarla sí.
Errores comunes de los estudiantes
- Definir una función pero nunca llamarla.
- Llamar una función sin el argumento que requiere.
- Olvidar los dos puntos después de la línea def, o no poner sangría en el cuerpo de la función.
Preguntas para hacer
- ¿Qué hace esta función y qué necesita para hacer su trabajo?
- ¿Dónde se define la función y dónde se llama?
- ¿Cómo se vería este programa si no pudiéramos usar funciones?
Extensión opcional
Escribe una función siguiente_nivel(nivel) que imprima una línea como ¡Llegaste al nivel 5! usando el número que le pases, y luego llámala con varios niveles distintos.
Si hay pocas computadoras
Escriban una receta sencilla (por ejemplo, doblar un avión de papel) como pasos con nombre, y luego "llámenla" dos veces con entradas distintas, como papeles de colores diferentes. Muestra el define-una-vez, reutiliza-muchas.
Semana 7
Listas y azar
Objetivo de la lección
Los estudiantes guardan muchos valores en una lista y usan random.choice() para hacer los programas impredecibles.
Materiales necesarios
- Computadoras con navegador y la página de la lección de la Semana 7
- Opcional: una bolsa o tazón con papelitos para sacar al azar
Qué explicar
- Una lista guarda muchos valores en una sola variable, escritos entre corchetes.
- import random trae la caja de herramientas de azar.
- random.choice() elige al azar un elemento de una lista, así que cada ejecución puede ser distinta.
Errores comunes de los estudiantes
- Olvidar import random arriba ("random no está definido").
- Faltar comas o corchetes al escribir una lista.
- Esperar la misma salida en cada ejecución y pensar que el azar es un error.
Preguntas para hacer
- ¿Cuántos resultados distintos podría producir este programa?
- ¿Qué hace que cada ejecución sea diferente?
- ¿Qué podríamos agregar a la lista para cambiar el juego?
Extensión opcional
Pregunta el nombre del jugador con input() al inicio y luego úsalo en la historia aleatoria para que la aventura se sienta suya.
Si hay pocas computadoras
Pongan varios papelitos con resultados en una bolsa y pidan a los estudiantes que saquen uno para armar una historia al azar en voz alta. Representa una lista más una elección aleatoria.
Semana 8
Constructor del juego final
Objetivo de la lección
Los estudiantes planean y construyen su propio minijuego, combinando todo lo del programa.
Materiales necesarios
- Computadoras con navegador y la página de la lección de la Semana 8
- Papel para planear el juego antes de programar
Qué explicar
- Los programas reales combinan muchas ideas pequeñas que se aprendieron por separado.
- Empieza con un plan corto por escrito, luego agrega una función a la vez y prueba sobre la marcha.
- Un juego pequeño que funciona le gana a uno ambicioso que no se ejecuta.
Errores comunes de los estudiantes
- Intentar escribir todo el juego de golpe en lugar de en pasos pequeños y probados.
- Volver a meter errores anteriores (dos puntos faltantes, = frente a ==, olvidar int()).
- Saltarse el plan y quedarse atorado.
Preguntas para hacer
- ¿Cuál es la versión más pequeña de tu juego que podría ejecutarse?
- ¿Qué idea de qué semana vas a usar aquí?
- Te salió un error: ¿qué te dice el mensaje?
Extensión opcional
Rediseña el esqueleto para hacer tu propio juego: una ronda de trivia, una historia con opciones o una carrera por el mejor puntaje. Usa al menos una lista, una función y un bucle.
Si hay pocas computadoras
Pide a los estudiantes que diseñen su juego primero en papel: la meta, qué escribe el jugador y qué responde el programa. Quien no tenga computadora igual puede completar y presentar el diseño.