El teu alumnat copia el codi però no l’entén? Una activitat per comprovar-ho
Per veure si un alumne entén un programa, demana-li que en predigui la sortida, en modifiqui una part i expliqui un cas nou. Executar un codi que funciona és una evidència del programa; aquestes tres accions aporten evidències sobre la comprensió de la persona.
En aquest article
Una entrega correcta no explica com s’ha construït
Copiar un exemple pot ser una manera legítima de començar a aprendre. El problema apareix quan l’activitat s’acaba abans de llegir-lo, canviar-lo o comprovar-lo. No necessites començar acusant ningú: pots dissenyar una tasca que faci visible què entén cada persona, independentment de l’origen del codi.
La proposta següent està pensada per a alumnat que ja ha vist variables, llistes, bucles i condicions. Si és la primera vegada que apareixen, redueix el programa o treballa la traça conjuntament. La dificultat ha de venir del concepte que vols observar, no d’acumular vocabulari nou.
El programa que llegiran abans d’executar
punts = [2, 5, 1, 4]
total = 0
for valor in punts:
if valor >= 3:
total = total + valor
print(total)Presenta el codi sense executar-lo i demana dues respostes: quin nombre apareixerà i quins valors de la llista s’han utilitzat per calcular-lo. La sortida és 9 perquè s’acumulen 5 i 4. El 2 i l’1 no compleixen la condició. No mostris encara la resposta; està aquí perquè puguis preparar la sessió.
Primera prova: construir una traça
| Valor llegit | Compleix valor ≥ 3? | Total després del pas |
|---|---|---|
| 2 | No | 0 |
| 5 | Sí | 5 |
| 1 | No | 5 |
| 4 | Sí | 9 |
Ofereix la taula buida a qui la necessiti. Si algú respon 12, pregunta quina línia ha interpretat com si sumés tots els elements. Si respon 2, pot estar comptant els valors que compleixen la condició en lloc de sumar-los. Són hipòtesis per orientar una pregunta, no diagnòstics automàtics.
Ara sí, executa el programa i contrasta’l amb la predicció. Una resposta inicial errònia pot ser útil si l’alumne identifica on ha canviat el seu raonament. Guarda aquesta correcció com a part de l’evidència.
Segona prova: una modificació amb conseqüències
Canvia la condició a valor >= 4. El resultat continua sent 9. Aquest cas és interessant perquè modificar el codi no obliga a canviar la sortida amb totes les dades. Demana una llista que permeti distingir els dos programes: per exemple, [3, 4] dona 7 amb el primer llindar i 4 amb el segon.
La pregunta important és «Per què la primera llista no permetia detectar la diferència?». La resposta ha d’identificar que no contenia cap 3. Això introdueix la idea de triar casos de prova que exercitin realment la condició.
Tercera prova: transferir sense copiar la solució
Proposa sumar només els valors parells d’una llista nova. Si encara no coneixen l’operador mòdul, proporciona l’expressió valor % 2 == 0 i explica què comprova. El repte és decidir on posar-la i conservar el sentit de l’acumulador, no descobrir sintaxi desconeguda.
Amb [3, 6, 2, 5], el resultat esperat és 8. Amb una llista buida, ha de ser 0. Demana una tercera llista escollida per l’alumne i una justificació de per què serveix per provar el programa.
Com valorar-ho en una sessió
Reserva aproximadament 10 minuts per a predicció i lectura, 15 per a la traça, 15 per al canvi de llindar i 15 per a transferència i explicació. Pots repartir-ho en dues sessions. Observa si segueix l’acumulador, si distingeix condició i resultat, i si proposa un cas de prova rellevant.
No ho presentis com un detector de còpia o d’IA. Una dificultat per explicar-se pot tenir causes diferents, i aquest exercici no identifica l’origen del programa. Serveix per decidir què s’ha de tornar a treballar. A Python I de Buclea, les comprovacions i la transferència poden aportar informació complementària; la interpretació docent continua sent necessària.
Per preparar suports dins del mateix grup, consulta la proposta per treballar amb nivells diferents.
Fonts consultades
Documentació consultada el 14 de setembre de 2026. Les propostes de classe i els exemples són elaboració de Buclea.