Al càlcul de la nota final de l'assignatura intervenen les notes següents (totes elles sobre 10).
NF = nota final de l'assignatura
NA = nota d'una prova de resolució de problemes nous
NL = nota de les proves de resolució de problemes de llistes tancades a laboratoris
NE = nota de l'examen final.
La nota NL es calcula com a mitjana ponderada de les notes de 3 proves consistents a resoldre un exercici de programació. La resolució es farà durant les classes de laboratori i es farà amb l'ús d'un avaluador automàtic que es descriurà més avall. Per a cada prova, l'exercici serà escollit d'una llista coneguda amb antelació per l'estudiant. Per presentar-se a cadascuna de les proves serà imprescindible haver enviat amb èxit a l'avaluador automàtic un nombre mínim (establert per a cada prova) de problemes de la llista; altrament, la nota de la prova serà No Presentat. Les tres proves tindran pesos 20%, 40% i 40% en el càlcul de la nota NL.
La nota NA s'obtindrà de la resolució d'un altre exercici de programació. Al igual que les proves de la nota NL, s'avaluarà mitjançant l'avaluador automàtic. A diferència d'elles, l'exercici a resoldre no serà necessàriament de cap llista publicada amb antelació (serà un problema nou), i es farà alhora per tots els grups de l'assignatura, fora d'hores de classe, en un interval de temps establert per la Facultat a l'efecte.
La nota NE provindrà d'un examen fet a final de curs, que es resoldrà en paper, sense ordinador ni avaluador automàtic.
La nota NF es calcula com:
NF = màxim( 40% NE + 20% NA + 40% NL, 70% NE ).
L'avaluació mitjançant l'avaluador automàtic funciona de la següent manera:
Un problema es defineix amb un enunciat i un o més jocs de proves públics. Resoldre un problema consisteix a escriure un programa correcte (segons els criteris comentats a continuació) que superi tots els jocs de proves, tant públics com privats. Quan un estudiant tingui un programa que consideri correcte, l'enviarà a un jutge automàtic que, en pocs segons, li retornarà un veredicte sobre el comportament del seu programa, que en particular indicarà de manera distinta si passa tots els jocs de proves públics i els privats. Si al final de l'examen no s'ha enviat cap programa que superi tots els jocs de proves públics, la nota és 0.
Altrament, els professors corregiran manualment l'últim programa enviat que superi tots els jocs de proves públics i privats. Si aquest no existeix, es corregirà l'últim que superi tots els jocs de proves públics. Si es detecta que l'estudiant s'ha saltat les regles bàsiques de programació fixades amb claredat durant el curs, o si el programa no compleix els requeriments de l'enunciat, o si l'algorisme usat per resoldre el problema és manifestament inadequat, la nota és 0.
Altrament, sigui V la valoració, entre 0 i 5, donada pels professors al programa corregit (en funció de la claredat, l'estil, etcètera). Es calcularà també una penalització P del problema per enviaments erronis de la següent manera: S'afegirà a P 1 punt per cada enviament al jutge que no superi els jocs de proves públics, i 0,3 punts per cada enviament que superi els jocs de proves públics però no els privats, quedant-ne exclosos fins a 3 enviaments (els tres amb penalització més gran, si n'hi ha d'ambdós pesos). La nota del problema és max(V+5-P,0) si el programa passa tots els jocs de proves públics i privats, i max(V+2,5-P,0) si no passa tots els jocs de proves privats.
Qualsevol intent de frau realitzat durant el curs comportarà l'aplicació de la normativa acadèmica general de la UPC i l'inici d'un procés disciplinari.