lunedì 26 novembre 2018

Test "a crocette": sarà presente in ogni esame

Nella prima provetta 2018/2019 ho inserito nello scritto un insieme di 14 domande "vero"/"falso".

Ho distribuito molte versioni diverse dell'insieme, in modo da non alimentare la tentazione di copiare (tentazione che credo sia già abbastanza bassa, ma quest'anno la densità nell'aula era talmente alta da impormi misure straordinarie).

Questo insieme di domande costituiva quello che chiamo "Esercizio Zero": esercizio semplice che ha l'unico scopo di verificare che chi partecipa all'esame abbia una preparazione di base adeguata. Svolgere l'Esercizio Zero in modo adeguato non fornisce nessun bonus: solo il diritto di proseguire l'esame.

Per inciso, ribadisco a scanso di equivoci che ho analizzato ogni singolo Esercizio Zero più volte. Non ho assegnato giudizi in maniera automatica in base al numero di errori, ho tenuto conto della tipologia di ogni errore, ho cercato di tenere conto di possibili interpretazioni diverse di alcune domande. Nessuna domanda da sola ha avuto un impatto decisivo sul giudizio finale. Fine inciso.

E' stata la prima volta che ho inserito un insieme di molte domande vero/falso. Ritengo che questa tipologia di esercizio sia molto utile ed ho deciso di adottarla in maniera sistematica:

  1. Ogni provetta (compresa la seconda provetta 2018/2019) ed ogni appello ufficiale di Reti di Calcolatori comprenderà un insieme di 10/15 domande vero/falso.
  2. Questo insieme di domande non sarà solo un Esercizio Zero ma potrà anche fornire un bonus.

Inserire in un esame scritto 10-15 domande su molti argomenti diversi tra loro mi pare utile per tutti, sia per gli studenti sia per me.

Sinora gli esami scritti consistevano di due scenari, ognuno composto da "molti esercizi". I due scenari potevano coprire solo una parte minima del programma ed erano sempre di tipologie simili tra loro. In questa situazione, ogni incertezza, imprecisione, errore o svista non può che avere un impatto elevato. A meno di non fare poi un esame orale per dimostrare la propria preparazione. Ma fare un orale con me è una esperienza abbastanza rischiosa. Chi può lo evita.

Inserire nell'esame scritto 10-15 domande su molti argomenti diversi, invece, permette allo studente di dare una prima dimostrazione della propria preparazione di base. Ciò mi permetterà di fare esercizi un pochino più leggeri (come è già accaduto nella prima provetta) e di essere meno drastico nel valutare imprecisioni ed errori (idem).

Appendice

In aggiunta allo sperabile vantaggio in sede di esame, l'uso delle domande vero/falso ha un altro aspetto positivo: quello di stimolare gli studenti a considerare con attenzione il significato delle parole. Ad esempio:

In assenza di caching DNS, un email inviato da un dominio email che termina con .it ed indirizzato verso un dominio email che termina con .org transiterebbe necessariamente da un name server della root zone.

E' difficile da credere, ma ci sono state persone che hanno risposto "vero". Poiché nessuno può neanche lontanamente pensare che un email possa transitare da un name server, è ovvio che l'errore è stato provocato dalla scarsa abitudine a leggere con attenzione ed a fare attenzione alla precisione del linguaggio.

Se la domanda fosse stata scritta in questo modo non l'avrebbe sbagliata nessuno:

In assenza di caching DNS, un email inviato da un dominio email che termina con .it ed indirizzato verso un dominio email che termina con .org transiterebbe necessariamente da un name server della root zone.

Idem per questa:

Un email può transitare da un name server?

Un laureato triennale deve assolutamente avere la capacità di leggere e comprendere un documento tecnico: un datasheet, un brevetto, un manuale di configurazione, un manuale di una libreria etc etc etc. Bisogna fare attenzione al significato delle parole ed alla precisione del linguaggio.

Esercizio Zero: Errori frequenti

Domande che sono state sbagliate da più di 10 persone:

Una zona Z1 può avere name server con nomi in zone diverse da Z1 (risposta corretta: Vero)

Abbiamo fatto moltissimi esempi di questa situazione. Qui sotto uno dei tanti.

Per assegnare un custom domain ad un sito web ospitato su un servizio di web hosting è necessario modificare i RR della zona in cui si trova il nome che si desidera assegnare al sito (risposta corretta: Vero)

E' ovvio che se desidero usare il nome N allora devo modificare i RR della zona in cui si trova N.

Desidero usare il nome www.unicredit.it. Posso farlo senza modificare i RR della zona unicredit.it? Ovviamente no, sarebbe troppo bello....

Un dominio contiene certamente un RR di tipo A (Risposta corretta: Falso)

E' comunissimo che un dominio contenga un RR di tipo A. Ma non è certo indispensabile.

Un nodo che esegue 4 processi client collegati allo stesso server ha certamente 4 socket con numeri di porta locale identici (Risposta corretta: Falso)


Non so più come spiegare i numeri di porta lato client. Non so quante volte e in quanti modi diversi ho ripetuto questo concetto. Nonostante ciò, questa risposta è stata sbagliata da 15 (quindici) persone. Non so proprio cosa dire. Chi non ha ancora capito mi contatti, ma non so proprio cosa dire.

E' certo che i numeri di porta alle due estremità di una stessa connessione sono diversi (Risposta corretta: Vero)

Come sopra (in questo caso hanno sbagliato in 12).

Un processo client specifica il numero di porta del welcoming socket sul server e non conosce il numero di porta del communication socket del server (Risposta corretta: Falso).

Il processo client specifica un solo numero di porta e la comunicazione avviene attraverso il communication socket. Inoltre, il communication socket ed il welcoming socket hanno lo stesso numero di porta. Ergo, il processo client conosce il numero di porta del communication socket sul server.

Secondo me non ci sono altre interpretazioni lecite. Capisco che qualcuno possa avere fatto un ragionamento diverso: "il client non distingue tra welcoming socket e communication socket quindi per il client il communication socket non esiste" (o qualcosa del genere). Ragionamenti di questo genere sono sbagliati, ma l'errore non è grave. Un errore di questo genere, da solo, non è stato decisivo per nessuno.

In un processo che opera da server ed ha due connessioni aperte con due client diversi, i numeri di porta remoti potrebbero essere uguali tra loro (Risposta corretta: Vero)

Se i due client si trovano su nodi diversi allora potrebbero avere un numero di porta identico: ogni sistema operativo sceglie i numeri di porta in maniera autonoma, quindi il sistema operativo di due nodi diversi potrebbe avere scelto lo stesso valore.

Un processo che opera da client ed ha una connessione con un server S1 può, dopo avere chiuso la connessione, operare da server (Risposta corretta: Vero)

Come fanno i mail server a fare il forwarding dei messaggi email per i mittenti della propria organizzazione? Come fanno a implementare il forwarding degli indirizzi email?

Come fanno i name server a realizzare la risoluzione ricorsiva per i client della propria organizzazione?