[Corsopoc] Testing di oracolo per compiti
Andrea Leofreddi
andrea@lupo.campus.uniroma2.it
08 Feb 2003 00:39:13 +0100
On Fri, 2003-02-07 at 18:25, cantone wrote:
Riporto il mio iter logico del tentativo di comprensione, e in caso di
fallimento (o richiesta di delucidazioni) eventuali domande.
> Si applichera' all'oracolo del compito un testing statistico con
> campioni scelti casualmente nella popolazione interessata (3% circa),
> piu' altri scelti con criteri opportunistici.
Comprensione: ok
Domande:
- cos'e' l'oracolo del compito?
>
> Campioni casuali.
> Set randomTestDataSet = new Set (Math.modul(({n-1, n, n+1} + K*100),
> C)), ove
Comprensione: fallita
Iter logico:
- analisi di <<Set randomTestDataSet = new Set (Math.modul(({n-1, n,
n+1} + K*100), C))>>
- sembra java, assumo che lo sia
- Set e' un'interfaccia (pertanto non e' istanziabile), assumo che sia
usata un'implementazione di Set
- Math.modul(...) non esiste, penso sia modulo, analizzo gli argomenti
nel tentativo di capirne lo scopo:
- secondo argomento ('C'), dal testo sembra essere un intero (<<C =
Math.max(IDCompitiConsegnati) +1;>>, <<C=350;>>)
- primo argomento (<<({n-1, n, n+1} + K*100)>>)
- K sembra essere un intero (<<K >= 0;>>, <<K < 4;>>)
- n sembra essere un intero (<<n= primo estratto Ruota di Roma
questa fine di settimana.>>)
- quindi <<{n-1, n, n+1}>> e' int[]
- exit(-1): <<{n-1, n, n+1} + K*100>> e' int[] + int, operazione non
lecita di cui non riesco a cogliere un eventuale significato
Domande:
- cos'e' {n-1, n, n+1} ?
>
> C = Math.max(IDCompitiConsegnati) +1;
> K >= 0;
>
> n= primo estratto Ruota di Roma questa fine di settimana.
Comprensione: dubbia
Iter logico:
- analisi di <<C = Math.max(IDCompitiConsegnati) +1;>>
- sembra java, assumo che lo sia
- Math.max(...) richiede due parametri, qui ce n'e' uno. Assumo che
IDCompitiConsegnati sia una collection che contenga gli id del compito,
e assumo che il significato di Math.max su una collection sia il massimo
id assegnato a un compito
- analisi di <<n= primo estratto Ruota di Roma questa fine di
settimana.>>
- sembra un ibrido java/italiano, tento il parsing
- <<primo [numero] estratto [della] Ruota di Roma questa fine di
settimana>>. Ignorando la Ruota di Roma e la sua data di estrazione (non
dovrebbe essere questo un prerequisito di POC) e vista la necessita'
degli eventuali sorteggiati di essere <<invitati fin da ora a inviare
e-mail di conferma al docente entro domenica sera>> pondero due
possibilita':
- (i) randomicita': per aumentare l'entropia della gente che
finisce in randomTestDataSet il professore utilizza una fonte esterna
casuale (adesso e' mezzanotte di venerdi', quindi se entro domenica sera
gli estratti devono inviare una mail significa che dovro' buttare tempo
per scoprire cosa sia la Ruota di Roma e quale sia il numero estratto
nel weekend
- (ii) masochismo: il professore e' a conoscenza del numero (gia'
sorteggiato), ma non lo comunica per costringere alla ricerca (quindi si
riferiva alla settimana scorsa)
>
> Per la prova intermedia:
> C=350;
> K < 4;
Comprensione: dubbia
Domande:
- Ogni studente deve vedere se e' stato convocato o no, pertanto deve
riempire un randomTestDataSet con i parametri sopra descritti. Dal testo
<<K >= 0;>>, e <<K < 4;>>, quindi K cos'e'? 0, 1, 2 o 3? Oppure lo
studente deve iterare 4 volte partendo da K = 3 e decrementando ogni
iterazione?
>
>
> Se un elemento i di randomTestDataSet e' associato a un compito non
> assegnato, si considererera' Math.modul(succ(i), C)fino a trovare un
> valore non gia' in randomTestDataSet.
>
> randomTestDataSet.size() == 12;
Comprensione: dubbia (<<Math.modul(succ(i), C)>> ignorata, vedi sopra)
Domande:
- <<randomTestDataSet.size() == 12>>: questi vengono chiamati anche null
statements (test logici senza scopo). In questo caso penso significhi
che (randomTestDataSet.size() == 12) sia vero, cioe' che
randomTestDataSet abbia 12 elementi?
> Gli studenti di cui sopra sono convocati per mercoledi' p.v. della
> settimana prossima per effettuare sui loro dati il test dell'oracolo.
> Orari:
> Math.modul(({n-1, n, n+1} ), 350)): 15:00
> Math.modul(({n-1, n, n+1} + 100), 350)): 15:45
> Math.modul(({n-1, n, n+1} + 200), 350)): 16:30
> Math.modul(({n-1, n, n+1} + 200), 350)): 17:15
Comprensione: fallita (capire Math.modul era un prerequisito, vedi
sopra)
Domande:
- cos'e' p.v.?
>
> Gli studenti tali per i quali
> randomTestDataSet.includes(IDCompitoConsegnato), sono invitati fin da
> ora a inviare e-mail di conferma al docente entro domenica sera.
>
> In caso di assenza di un convocato, il test sara fatto dai docenti
> alla presenza di elementi di randomTestDataSet eventualmente presenti.
Comprensione: ok (con correzioni)
Iter logico:
- analisi di <<randomTestDataSet.includes(IDCompitoConsegnato)>>
- sembra java, assumo che lo sia
- Set non descrive il metodo includes(Object). Assumo che sia bool
includes(Object a) e che riporti true se a appartiene al set.
>
> GiC
>
Regards
Andrea Leofreddi
--
Andrea Leofreddi, <andrea@lupo.campus.uniroma2.it>
homepage at http://lupo.campus.uniroma2.it/~andrea