Skip to content

Come si deve svolgere un esame scritto (e non solo)

Rispondere alla domanda senza inventarsi una domanda diversa

Inventarsi una domanda diversa è un fenomeno che accade molto più spesso di quanto ci si possa immaginare.

Se viene chiesto di fornire una certa informazione allora deve essere fornita esattamente quella informazione. Non fornire l'informazione richiesta significa non avere svolto l'esercizio. Non perché io sia pignolo: perché questo è un requisito basilare di ogni professione. Se chiedo ad un imbianchino di pitturarmi una camera di verde allora lui deve pitturarmi una camera di verde. Punto. Che prospettive di lavoro può avere un imbianchino che pittura la cucina invece della camera? O che pittura la camera di bianco?

Fornire informazioni che sono diverse da quelle richieste, inoltre, rende manifesto che uno non è neanche in grado di comprendere il testo di un esercizio ed attenersi ai requisiti. Una impostazione mentale di questo genere è radicalmente in contrasto con la natura dell'ingegneria. Se viene chiesto di fare un ponte allora si deve fare un ponte. Non si deve fare un frigorifero perché si ha voglia di fare un frigorifero, perché siamo più bravi a fare i frigoriferi, perché i frigoriferi sono interessanti, perché se dimostro di sapere fare un frigorifero allora è ovvio che saprò fare anche un ponte, perché basta che produca qualcosa che più o meno ha a che fare con i frigoriferi (caso frequentissimo). Come si deve valutare un elaborato di un aspirante ingegnere che non è neanche in grado di attenersi ai requisiti ma produce ciò che vuole lui?

Talvolta gli studenti si inventano una domanda diversa consapevolmente ("quello che mi è stato chiesto non lo so, però ho studiato"). L’approccio di scegliere da solo l’argomento di cui parlare, svicolando abilmente la domanda, può essere utilissimo in altri contesti (ad esempio in politica) ma è completamente negativo nell’ingegneria per gli stessi motivi sopra discussi.

Talvolta gli studenti inseriscono molte più informazioni di quelle richieste (per dimostrare di avere studiato o perché non si rendono conto che sono inutili). Ciò è molto pericoloso: informazioni inutili hanno valore pressoché nullo se sono corrette e valore negativo se sono sbagliate. Scrivere informazioni inutili, inoltre, è una perdita di tempo prezioso.

Mai descrivere traffico o tabelle in forma narrativa / discorsiva

Quando viene chiesto di descrivere una qualche forma di traffico (applicativo, pacchetti o frame), è pressoché impossibile che uno svolgimento completamente “narrativo/discorsivo” riesca a convincere il lettore che chi scrive ha veramente capito.

Una risposta deve essere esaustiva e non ambigua, mentre in ogni svolgimento narrativo rimangono sempre punti non descritti e ambigui.

Esercizi in cui viene chiesto di descrivere del traffico devono essere svolti descrivendo una sequenza di elementi (messaggio, pacchetto o frame) in cui ogni elemento è descritto in modo schematico con un livello di dettaglio “adeguato”.

Per ogni elemento, deve anche essere descritto in modo esauriente e non ambiguo chi trasmette e chi riceve.

Quanto scritto per il traffico si applica in modo analogo per informazioni quali tabelle, regole di configurazione, regole di firewall e così via. In ogni caso si deve fornire un insieme di elementi facendo mente locale sul tipo di ogni elemento (coppia range-azione per una tabella di routing, quadrupla indirizzi IP/port number per una regola di firewall, nome-insiemeURL-protocollo-ACL per un realm di protezione, nome-tipo-valore per un RR e così via). Poi si deve fornire, per ogni elemento, tutte le informazioni corrispondenti al suo tipo.

Più in generale: leggere con attenzione

Per rispondere alla domanda richiesta, bisogna avere letto il testo dell'esame con attenzione.

Ciò è importantissimo, non solo perché io sono pignolo; non solo perché in questo modo uno evita di perdere tempo fornendo informazioni non richieste (quindi inutili nel migliore dei casi e dannose nel peggiore); non solo perché leggere ciò che è scritto in un documento e distinguerlo da ciò che uno crede ci sia scritto è fondamentale in ogni settore ed ogni professione (dalle istruzioni per la dichiarazione dei redditi alle norme regionali, alle leggi a qualsiasi cosa).

E' importantissimo anche e soprattutto perché è una delle capacità necessarie ad una persona che deve lavorare in un gruppo.

L'ho visto decine e decine di volte con i miei collaboratori ed i miei tesisti. Passiamo del tempo a discutere, decidiamo di fare una cosa, la persona investe giorni del proprio tempo per fare quella cosa ed alla fine si scopre che ne ha fatta un'altra. Quasi sempre una cosa inutile, perché nella tecnologia i dettagli sono importanti. In moltissimi contesti basta modificare un minimo dettaglio per ottenere un risultato inutile, fuorviante o sbagliato.

L'effetto è che tutti hanno sprecato tempo, risorse ed energie.

Inoltre, spesso il problema non lo si scopre subito. Lo si scopre solo se emerge qualche risultato od azione strana e si ha il tempo e la possibilità di approfondire. Pertanto quando emerge un problema si mettono in dubbio anche tutte le altre cose fatte in precedenza da quella persona: avrà fatto veramente ciò che avrebbe dovuto fare? oppure ha cambiato qualcosa?

Un effetto aggiuntivo, ancora più importante, è che la persona non ha fornito ai propri collaboratori una prova positiva delle proprie capacità.

Ripeto: Leggere con attenzione!

Ho rilevato da tempo l'amplificarsi di un fenomeno molto preoccupante: molte, molte persone manifestano evidenti problemi di comprensione delle parole che leggono e scarsissima attenzione alla precisione delle parole che usano.

Sono molto poche le persone che di fronte alla domanda "A" rispondono alla domanda "A". Forniscono invece informazioni più o meno legate alla domanda.

Per fare una analogia, alla domanda: "Che ore sono?" si vedono risposte come:

  • "Bello il mio orologio, vero?"
  • "E' martedi"
  • "Si, penso che sia un pò tardi"
  • "Io uso sempre lo smartphone per vedere l'ora"

e cose simili. Non sto esagerando, è esattamente ciò che accade sempre più frequentemente negli esami. A domande come "elencare le connessioni che passano dal mail server, specificando per ognuna il processo all'altra estremità" si vedono risposte come "sono tre" oppure "passano tutte dal proxy".

Questo approccio è del tutto inappropriato nella tecnologia (sarebbe inaccettabile ovunque, ma nella tecnologia in particolare).

Se viene chiesto "definire cos'è un'automobile" non si può rispondere con il disegno di un pò di automobili in un garage ed il commento "queste sono delle automobili". Rispondere con informazioni che sono grosso modo nell'area della domanda è inaccettabile. Soprattutto, confondere definizione con esempio è gravissimo: può essere accettabile in una scuola media inferiore; non al terzo anno di università.

Per comunicare il concetto di colore verde, si deve usare la parola "verde". Non la parola "caldo" o "giallino" o "automobile" o "erba". Se uno scrive "l'oggetto A è verde" non può scrivere due righe più sotto che "l'oggetto A è marrone" oppure "l'oggetto A è a palline verdi e gialle".

La precisione nel linguaggio (chiamare "pere" le pere e dire tutto ciò che è necessario dire) è fondamentale in ogni professione.

Esempio reale di studente che non ha letto con attenzione

Anonimizzato, ma con il permesso dello studente. Pienamente comprensibile solo dopo avere studiato il funzionamento delle email.

Testo dell'esame

Il nodo C invia un email con mittente u1@sender.com e destinatario u2@destination.com.

Elencare tutte le connessioni necessarie su C per tale invio. Per ogni connessione dell'elenco, specificare protocollo, numero di porta locale, numero di porta remoto.

Elencare tutto il traffico DNS trasmesso e ricevuto da C per tale invio. Per ogni richiesta DNS, specificare il nome del name server a cui è inviata, la corrispondente risposta, il nome del name server che invia la risposta.

Svolgimento dello studente

Se utilizzo sender via browser allora utilizzo http o https (80 o 443) per la comunicazione tra browser cliente e web server sender, poi sender comunica con smtp sulla porta 25 con il mail server sender il quale a sua volta comunica con smtp porta 25 con il mail server destination. Poi l’utente con pop sulla porta 110 preleverà il contenuto della mail.

  • sender.com NS ns.sender.com
  • sender.com MX mx.sender.com
  • destination.com NS ns.destination.com
  • destination.com MX mx.destination.com
  • ns.sender.com A ip-s
  • ns.destination.com A ip-d
  • mx.sender.com A ip-ss
  • mx.destination.com A ip-dd

il traffico quindi sarà una richiesta mx di sender.com il quale riceverà una risposta poi mx.sender.com farà una richiesta A per ottenere ip-ss. A questo punto trasmette la mail.

Commenti e svolgimento corretto

A lezione abbiamo detto N volte che negli esercizi l’invio ed il prelievo di email avvengono con un client email, non con un browser (a meno che il testo non dica esplicitamente che si usa un browser). Quindi l’esercizio sarebbe da considerarsi sbagliato per il solo fatto che inizia con “Se utilizzo sender via browser allora”, in quanto equivale a cambiarsi da solo l’esercizio. Trascuro questo punto ed accetto uno svolgimento con browser (in questo modo lo svolgimento è banalissimo).

Lo svolgimento dello studente è narrativo: “...utilizzo http o https (80 o 443) per la comunicazione tra browser cliente e web server sender, poi sender comunica con smtp sulla porta 25 con il mail server sender il quale a sua volta comunica con smtp porta 25 con il mail server destination. Poi l’utente con pop sulla porta 110 preleverà il contenuto della mail.”. Come indicato in Come si deve svolgere un esame scritto: “Evitare assolutamente risposte "narrative", in particolare quando viene chiesto di descrivere del traffico. In questi casi è praticamente impossibile essere esaurienti e non ambigui per mezzo di descrizioni narrative: usare elenchi di messaggi, o tabelle o cose del genere”.

Nel caso specifico:

  • (80 o 443) Cosa sono? Numeri di porta locali o remoti?
  • Comunica con smtp sulla porta 25 Questo è un numero di porta locale o remoto?
  • Poi sender comunica con smtp Chi è sender? Il browser (che aveva agito da sender) o il web server (al quale è stato associato l’aggettivo sender)?
  • Poi l’utente con pop sulla porta 110 preleverà Prima erano browser e server che operavano, adesso è un utente. Scarpe e pere.
  • Sulla porta 110 Che vuol dire? Ci si siede sopra? È locale o remota? Rispetto a cosa?

Inoltre:

  • Il testo dell'esame chiedeva di “Elencare tutte le connessioni”. Occorre fornire un elenco, non un racconto. In quello svolgimento non c'è nessun elenco.
  • Il testo dell'esame descriveva chiaramente cosa si vuole sapere (“per ogni connessione dell’elenco specificare...”). Bisogna fornire quello che si vuole sapere, nulla di meno. Poi si può fornire anche qualcosa in più, facendo attenzione a non scrivere informazioni ambigue o sbagliate. Le cose in più a me interessano raramente: se mi interessano le chiedo. La cosa fondamentale è fornire tutto quello che chiedo.

Il modo migliore per fornire un elenco è una tabella. Ciò premesso, occorre chiedersi: quale informazione devo fornire per ogni elemento della tabella? In questo caso, per ogni elemento sono richieste 3 informazioni, quindi il numero di colonne deve essere 3. Ne mettiamo 4 in modo da avere una colonna in cui inserire commenti.

Commenti Protocollo Port number locale Port number remoto
Assumo una connessione tra browser e web server che implementa la webapp per gestire la email https Maggiore di 1024 e non predicibile (scelto dal s.o. tra quelli liberi) 443

La tabella ha una sola riga perché c’è una sola connessione (https ed il numero di porta sono discussi in una parte successiva del corso).

Per il punto successivo è lo stesso. E’ richiesto un elenco ed è specificato cosa si vuole sapere per ogni elemento dell’elenco (4 colonne più una per eventuali commenti).

Poiché qui si è assunto un browser, il solo nome da risolvere è quello della webapp. Poiché il testo chiede “il traffico DNS trasmesso e ricevuto da C”, lo svolgimento è quindi banalissimo (una sola riga perché c’è una sola richiesta DNS).

Commenti Richiesta DNS Nome name server a cui è inviata Risposta DNS Nome name server che la invia
Assumo che il nome della webapp sia sito.com e che il nome del name server a cui il browser invia le proprie richiesta sia ns.someorg.it sito.com A ? ns.someorg.it sito.com A IP-1 ns.someorg.it

Se adesso vediamo lo svolgimento fornito dallo studente, ci rendiamo conto che è solo un lontano parente della domanda.

Il testo dell'esame chiedeva delle informazioni; lo svolgimento è consistito in una divagazione narrativa sul settore tecnologico corrispondente senza fornire le informazioni richieste, nel formato richiesto.

Per la parte DNS lo svolgimento è ancora peggiore:

  • Consiste in un elenco di RR mentre era richiesto il traffico DNS (che è una cosa ben diversa: scarpe e pere).
  • Si chiedeva “il traffico trasmesso e ricevuto da C” e si risponde con “il traffico quindi sarà una richiesta mx di sender.com il quale riceverà una risposta”. A parte il non trascurabile problema che non si capisce chi sia il soggetto, questa frase non risponde alla domanda: C non invia richieste MX (dal momento che C è un browser).
  • Neanche la frase “poi mx.sender.com farà una richiesta A per ottenere ip-ss” risponde alla domanda visto che mx.sender.com non c’entra nulla con C.

Bisogna imparare a leggere le domande ed a fare ciò che viene richiesto.

Immaginate di essere in un ambiente di lavoro. Il vostro capo vi dice di fare una cosa, voi ne fate un’altra molto diversa anche se più o meno nello stesso settore tecnologico.

Quale sarà l’effetto più probabile?