TNUI 2026–2027 Taller de Nous Usos de la Informàtica 14.09

Escriure codi ha deixat de ser la part que més temps consumeix d'aquesta assignatura.

Un assistent d'IA et pot escriure en tres minuts el visualitzador de dades o el mètode d'anàlisi de dades que fa cinc anys ocupava una tarda sencera. El que no et pot fer és decidir què has de construir, si les dades diuen el que et penses, ni respondre per tu quan et preguntin per què funciona. Aquest document explica com treballarem durant el curs perquè aquesta diferència quedi clara des del primer dia.

La regla del curs: l'especificació precedeix el codi, i la responsabilitat no es delega. Tu dissenyes i especifiques la solució; la IA la implementa; tu la verifiques i la defenses.

Marc

Què vol dir treballar amb IA en aquesta assignatura

El mètode clàssic per resoldre un problema computacional era lineal: entenies el problema, escrivies codi, el provaves, l'entregaves. Escriure el codi era el pas més car (en temps), i tota la resta s'organitzava al seu voltant. Quan aquest pas passa a costar minuts, el coll d'ampolla es desplaça: ara el que costa és saber exactament què vols i comprovar que el que ha sortit és correcte.

Per això no treballarem escrivint codi i després documentant-lo. Treballarem escrivint artefactes versionats —fitxers de text que passen d'una etapa a la següent— i el codi n'és una conseqüència. Cada artefacte és teu; el codi el pot generar la IA.

enunciat spec.md architecture.md tasks.md codi verificació informe
l'escrius tu el genera el professor o la IA sota les teves regles

Quan la verificació falla, es torna a l'especificació, no al codi. Si demanes a la IA que «apedaci» un resultat que no compleix spec.md, acabaràs amb codi que ningú ha decidit mai que existís.

El canvi

Què canvia respecte de com programaves amb IA fins ara

  Com es feia Com ho farem
Punt de partidaUn editor obert i un enunciatUn enunciat i quatre fitxers .md escrits abans de demanar res
Qui decideix l'arquitecturaL'inventa la IATu, a architecture.md, abans de la primera línia
Mida del pas«Fes-me el projecte»Una tasca de tasks.md, verificada, i atura't
Quan saps que has acabatQuan et cansaQuan es compleixen els criteris d'acceptació
On va la teva atencióA teclejar sintaxiA especificar, verificar i interpretar
Què t'avaluemQue el codi corriQue puguis explicar-lo, criticar-lo i defensar-lo

Cap de les dues columnes és una caricatura. La de l'esquerra és exactament com molta gent fa servir un assistent d'IA ara mateix, i funciona ... fins a la primera vegada que has de modificar alguna cosa.

Les jugades

Sis etapes, en aquest ordre

Cada etapa té un artefacte associat i una manera concreta de comprovar que l'has feta bé. Les sis són el mateix cicle a les tres pràctiques, canviant només el domini: una anàlisi del padró de Barcelona, un recomanador amb factorització de matrius, una anàlisi bayesiana de dades.

01
preguntes
a l'enunciat

EntendreEl problema, abans que qualsevol fitxer

Abans d'escriure res, has de poder respondre una pregunta:

Què ha de fer exactament aquest sistema?

Com s'executa
  1. Llegeix l'enunciat sencer i marca cada frase que amaga una decisió no presa. «Valoració mitjana per gènere»: una pel·lícula amb tres gèneres, compta en tots tres o en cap?
  2. Escriu la llista de coses que no saps. És la llista de preguntes que faràs a classe.
  3. Mira les dades reals abans de decidir res. Al padró de Barcelona hi ha valors emmascarats amb .. per privacitat, i codis numèrics que només tenen sentit amb pad_dimensions.csv al costat.
Senyal d'alarma Si la teva primera acció ha estat obrir el xat i enganxar l'enunciat, t'has saltat aquesta jugada. La IA et donarà una resposta plausible a un problema que encara no has definit.
02
spec.md

EspecificarQuè ha de fer el sistema

Els requisits funcionals i els criteris d'acceptació. Res de codi, res de llibreries: només comportament observable. Quines dades entren i amb quin format, què ha de poder fer la persona usuària, quins missatges d'error apareixen i quan, i com sabrem que està acabat.

Com s'executa
  1. Descriu el format d'entrada amb una taula de columnes i un exemple literal de dades vàlides.
  2. Numera les funcionalitats. Si una en conté dues, separa-les.
  3. Tanca amb criteris d'acceptació comprovables. «El RMSE sobre el test és inferior a 0,95» és un criteri; «el model funciona bé» no ho és.
Està bé quan Una persona que no ha vist mai l'enunciat pot llegir el teu spec.md i dir-te si el resultat és correcte o no, sense preguntar-te res.
03
architecture.md

DissenyarCom s'organitza el projecte

El plànol: quins fitxers hi ha, de què és responsable cadascun, quines llibreries s'usen i per què. És la jugada que més gent es salta i la que més cara costa saltar-se, perquè si tu no decideixes l'estructura, la decidirà la IA —i te la trobaràs feta quan ja no la puguis canviar.

Com s'executa
  1. Dibuixa l'arbre de fitxers complet, amb un comentari per línia.
  2. Per a cada mòdul, escriu les funcions que exposa amb la seva signatura. A la pràctica del recomanador això vol dir decidir, abans de programar, que data_loader.py exporta build_index_maps i què retorna.
  3. Justifica cada llibreria en una frase. Si no saps per què hi és, no hi ha de ser.
  4. Separa sempre entrenament d'inferència, càrrega de dades de model, i model d'avaluació.
Senyal d'alarma Si l'estructura del projecte té més fitxers dels que pots explicar de memòria, simplifica-la: encara ets a temps, no hi ha codi.
04
tasks.md

PlanificarQuè cal fer i en quin ordre

L'especificació convertida en una llista de tasques petites, ordenades per fases, cadascuna independent i verificable. Aquest és el fitxer que converteix un projecte en una seqüència de passos que pots comprovar d'un en un.

La prova d'una bona tasca
  • Té un identificador (T2.3) i toca un sol fitxer.
  • Es pot verificar sense fer les següents.
  • Cap en una frase que comenci amb un verb: «Implementar el bucle SGD dins de fit: iterar per les valoracions del train, calcular l'error i actualitzar P, Q, b_u, b_i.»
  • Si has d'escriure «i després» dues vegades, són dues tasques.
Per què importa Quan alguna cosa falla, saps exactament on mirar. Si el gràfic no surt però la taula sí, el problema és a la fase 5, no a la 2.
05
reglesIA.md

ConstruirUna tasca a la vegada, i atura't

Ara sí que parles amb l'assistent. El reglesIA.md és el contracte que li poses: llegeix els tres documents, tria una tasca, explica què farà abans de fer-ho, implementa-la, i atura't fins que tu ho confirmis.

El bucle
  1. Demanes una tasca concreta, pel seu identificador.
  2. La IA explica què tocarà i com es verificarà. Si el que explica no és el que volies, corregeix-ho ara.
  3. Implementa. Tu llegeixes el codi. Cada línia.
  4. Proves que funciona: obres l'HTML, executes la cel·la, mires la sortida.
  5. Marques [x] a tasks.md i demanes la següent.
Prompts que faràs servir
# Començar una tasca
Llegeix spec.md, architecture.md i tasks.md.
Implementa només la tasca T2.3 i atura't.

# Entendre el que t'ha donat
Explica pas a pas què fa la funció build_index_maps
i per què no podem fer servir movieId com a índex.

# Corregir
El gràfic no es mostra. Revisa app.js i digues-me què falla.

# Abans d'afegir res no planificat
Vull afegir [X]. És coherent amb architecture.md?
Si ho és, quina tasca nova s'hauria de crear a tasks.md?

# Control de coherència
Revisa tots els fitxers i digues-me si el codi és coherent
amb spec.md i architecture.md.
El que no faràs No demanaràs el projecte sencer de cop. No acceptaràs codi que no entenguis. No et saltaràs tasques ni l'ordre de les fases. No ignoraràs un error esperant que desaparegui sol.
06
informe
+ rúbrica

Verificar i defensarEls casos que ningú havia previst

Que el codi corri amb dades boniques no vol dir res. La verificació consisteix a buscar activament què el trenca i, sobretot, a saber què no has cobert.

Com s'executa
  1. Prova l'entrada vàlida, la que té capçaleres incorrectes i la que té dades invàlides.
  2. Enumera els casos extrems i classifica'ls: contemplats, parcials i no contemplats. Un usuari nou sense cap valoració és cold-start, i el model retorna la mitjana global: això és una decisió, i l'has de saber explicar.
  3. Escriu les limitacions. A la pràctica del recomanador, que ndcg_at_k ignori els usuaris amb menys de k valoracions esbiaixa la mètrica cap als usuaris més actius. Saber-ho val més que amagar-ho.
  4. Redacta la interpretació: què significa el resultat, què no significa, i què hauria de passar perquè fos fals.
La prova final A l'examen de pràctica et preguntarem coses com: per què guardem p_u = P[u].copy() abans d'actualitzar P[u]? Què passaria si λ = 0? Per què la corba d'aprenentatge mostra el MSE del train i no del test, i quan hauries d'aturar l'entrenament? Cap d'aquestes preguntes es respon mirant el codi corre o no corre.
Apartat
El risc real

El deute cognitiu

És molt fàcil deixar que l'assistent faci canvis cada cop més grans fins al punt que el codi funciona però ha deixat de ser teu. En aquell moment comences a acumular deute cognitiu: la distància entre el que fa el programa i el que n'entens es fa més gran a cada iteració.

A curt termini sembla eficient. A mitjà termini, quan apareix un error o cal afegir una funcionalitat, ja no tens els conceptes per decidir res —ni tan sols per escriure una bona especificació. Et limites a demanar canvis mal especificats, i el deute creix.

L'objectiu no és escriure tot el codi a mà. És mantenir el nivell de comprensió que et permet seguir participant. Davant de qualsevol solució que et doni la IA, hauries de poder dir per què funciona, quines decisions de disseny s'han pres, quines alternatives hi havia i quines limitacions té.

Delegar la feina repetitiva, sí. Delegar la comprensió, no.

Criteri

El test que aplicaràs a cada línia acceptada

És el principi fonamental de reglesIA.md. Accepta només codi que puguis:

ExplicarDir en veu alta què fa i per què funciona
ModificarCanviar-ne el comportament sense trencar la resta
DepurarTrobar-hi l'error quan la sortida no és la que esperaves
MantenirFer-lo créixer d'aquí a tres setmanes

Si falla qualsevol de les quatre condicions: atura't. Pregunta, llegeix, refés l'especificació. No continuïs endavant acumulant deute.

El fil de fons

La part que cap assistent farà per tu

La meitat del curs no va de programar: va d'entendre per què les dades poden enganyar. Un assistent d'IA t'escriurà un groupby perfecte sobre una taula que no mesura el que et penses, i no et dirà res.

  • Les dades no són la realitat. Hi ha un fenomen, una mesura i una dada, i són tres coses diferents. Pensa-hi amb «temperatura», i després amb «dolor», «qualitat educativa» o «felicitat».
  • Dades mancants. Per què falten? Els .. del padró no són nuls a l'atzar: són valors baixos emmascarats per privacitat. Tractar-los com a zeros canvia les conclusions.
  • Mostres esbiaixades. Qui apareix a les dades i qui no. Enquestes en línia, dades hospitalàries, xarxes socials.
  • Correlació i causalitat. Variables de confusió, i per què un model predictiu excel·lent pot dur a una decisió pèssima.
  • Canvis en el temps. El concept drift: dades històriques que deixen de servir. La COVID com a exemple paradigmàtic.
  • Agregació. Mitjanes que amaguen diferències que importen; la paradoxa de Simpson.
  • Llei de Goodhart. Quan una mesura es converteix en objectiu, deixa de ser una bona mesura.
  • La maledicció de la dimensionalitat. En moltes dimensions el centre és buit —el pacient mitjà no existeix— i totes les distàncies s'assemblen. Més variables no sempre és millor.

Les preguntes que faràs sempre, abans de qualsevol anàlisi: qui ha recollit aquestes dades, amb quin objectiu, què hi falta, quina definició han fet servir, i si pots confiar-hi.

Límits
Regla d'ús

On acaba l'ajuda de la IA

Pots fer servir un assistent per entendre un concepte, per desencallar-te amb un error i per implementar tasques que tu has especificat. Aquest és l'ús que aquest curs t'ensenya a fer.

El que ha de ser teu, sempre: les reflexions escrites, les interpretacions i la crítica de les limitacions de les dades i dels models. A les pràctiques amb notebooks, les cel·les marcades amb 🔧 són teves i les marcades amb ✅ són la guia. L'informe final i la reflexió crítica els escrius tu.

I la condició que ho travessa tot: has de poder explicar i defensar tot el codi que entreguis. Això no és una restricció moral, és el criteri d'avaluació.