CRITERIO

Comprensión · ejemplo: Argumentos mutables por defecto

PRIMM: predecir, ejecutar, investigar, modificar, crear

Lees código y predices qué hará antes de ejecutarlo.

Evidencia moderada110 min en total

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.
Probar el ejemplo

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

  1. 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

  1. 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

  1. 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.

  2. t=+2

    Modificas la función para que sea correcta

    Aplicación · 30 min · Usar el concepto en un problema nuevo construye transferencia.

  3. 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

0255075100-30+3+7+14+21+30
PRIMM: predecir, ejecutar, investigar, modificar, crearReleer y subrayar (control)

Se aplica en la ruta

Úsala programando, no solo leyendo

Pruébalo ahora

Argumentos mutables por defecto

Predice qué imprime el código, ejecútalo, investiga, modifícalo y crea tu versión.

  1. t=-1Predecir
  2. t=0Ejecutar
  3. t=+1Investigar
  4. t=+2Modificar
  5. 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?

Aplícalo esta semana

Con tu propio código de Python

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.