Aplícalo esta semana
Comprensión · ejemplo: Argumentos mutables por defecto
PRIMM: predecir, ejecutar, investigar, modificar, crear
Lees código y predices qué hará antes de ejecutarlo.
Diseñado para enseñar programación. Predices la salida de un fragmento, lo ejecutas, investigas por qué hizo lo que hizo, lo modificas y finalmente creas el tuyo. La predicción en t<0 convierte la ejecución en un experimento.
- Para quién
- Principiante e intermedio. Ideal para trampas del lenguaje.
- Fuente
- Sentance, Waite y Kallia (2019), Teaching Computer Programming With PRIMM
- Estudios controlados con resultados favorables, con matices según contexto.
El plan en el tiempo
Qué haces antes, durante y después. Mueve t y mira qué ya ocurrió.
Antes de encontrar el concepto t<0
- t=-1
Predices qué imprime una función con lista por defecto
Predicción · 5 min · Comprometerse con una predicción crea una expectativa que el resultado confirma o rompe.
El encuentro t=0
- t=0
Ejecutas y ves la salida real
Explicación · 30 min · El primer encuentro: alguien (o un texto) explica el concepto.
Después: consolidar t>0
- t=+1
Investigas: ¿cuándo se evalúa el valor por defecto?
Autoexplicación · 15 min · Explicar con tus palabras obliga a conectar ideas y expone huecos.
- t=+2
Modificas la función para que sea correcta
Aplicación · 30 min · Usar el concepto en un problema nuevo construye transferencia.
- t=+5
Creas un Value Object que evite el mismo error
Aplicación · 30 min · Usar el concepto en un problema nuevo construye transferencia.
Trayectoria frente al método de control
Se aplica en la ruta
Úsala programando, no solo leyendo
Lección 1 · Primeros pasos
Hola mundo
Predice qué ocurre primero antes de ejecutar; luego ejecuta, investiga, modifica y crea.
Lección 3 · Primeros pasos
Reasignar no es modificar
Predice la salida, ejecuta y busca en la memoria la línea exacta donde x e y se separan.
Lección 5 · Decidir y repetir
Decidir: if y else
Predice qué líneas se ejecutan y en qué orden; compruébalo con los marcadores de línea.
Pruébalo ahora
Argumentos mutables por defecto
Predice qué imprime el código, ejecútalo, investiga, modifícalo y crea tu versión.
- t=-1Predecir
- t=0Ejecutar
- t=+1Investigar
- t=+2Modificar
- t=+5Crear
carrito.py
1def agregar(producto, carrito=[]): 2 carrito.append(producto) 3 return carrito 4 5print(agregar("pan")) 6print(agregar("leche"))
Antes de ejecutar: ¿qué imprime?
Cuándo no usarla
Para conceptos de diseño sin salida observable (por qué un agregado).
Señal de que funciona
Tus predicciones fallan menos y, cuando fallan, sabes por qué.
Tu decisión
¿PRIMM: predecir, ejecutar, investigar, modificar, crear te hizo aprender?
Responde después de probar el ejemplo. Se guarda solo en este navegador.