Introduzione

Visto il perdurare della nota pandemia, anche la Sessione Invernale 2020 degli Esami di Stato di Ingegneria Informatica si è tenuta in forma verbale da remoto, senza le classiche tre prove scritte precedenti l'orale: un post precedente riportava le domande che posi durante della Sessione Estiva 2020, mentre questo riassume gli argomenti che ho richiesto nella Sessione Invernale. Sperando non ci sia una terza occasione data dalla pandemia, mi auguro che queste note possano essere di generale utilità.

Anche, qui ho contrassegnato le domande o gli spunti con i seguenti simboli, quando:

  • ⭐ c'è qualcosa di culturalmente particolare;
  • 💥 c'è un ragionamento non banale;
  • ⚠️ c'è un tema ricorrente relativo a qualche ⭐ o 💥

Domande di Ingegneria del Software

  • Quali buone pratiche saprebbe brevemente descrivere nel progetto di una libreria?
  • Se dovesse progettare una cassa in grado di erogare un resto ottimizzato, come procederebbe? Parta da una definizione di "resto ottimizzato".
  • Elenchi tutte le differenze principali che le vengono in mente tra linguaggi compilati e interpretati, citando almeno tre esempi per ciascuna classe e i loro casi d'uso tipici.
  • Domanda valida anche per progettisti di hardware di alto livello (o software). Immagini di avere un modulo (hardware o software) in grado di stampare un report. Immagini che lo si debba cambiare per due ragioni: cambio della logica o cambio dell'aspetto. È corretto progettare un unico modulo che si occupi di entrambi i temi? Risponda sì o no argomentando e mi dica, se lo conosce, il principio di progettazione alla base della decisione.
  • In quali casi è preferibile un database relazionale e in quali altri uno non relazionale?
  • Ereditarietà, incapsulamento e polimorfismo nella programmazione a oggetti: saprebbe descrivere queste tre proprietà fornendo al tempo stesso almeno un esempio per ciascuna di esse?
  • Senza entrare troppo, almeno inizialmente, in aspetti teorici, se le chiedessero di progettare un generatore di numeri casuali o un generatore di numeri pseudocasuali, come procederebbe?
  • Un ascensore serve due piani: terra e primo. Un tasto lo controlla e ha due valori: su e giù. Ha due luci per il piano attuale: rosso per terra e verde per primo. A ogni passo di tempo, il sistema controlla lo stato corrente e l'input, cambiando piano e luci di conseguenza. Disegnare la FSM equivalente.

Domande di architetture distribuite

  • Nell'ambito del cloud computing, descriva sommariamente la differenza tra scalabilità orizzontale e verticale, citando se possibile qualche soluzione architetturale e tecnologica.
  • Quali protocolli "wireless" in senso lato conosce che potrebbero trovare applicazione in ambito IoT? Ne citi alcuni motivandone la scelta e descrivendo almeno un caso d'uso per ciascuno di essi.
  • ⭐ In una architettura IoT elementare web-equivalent (browser, server/RDS, dispositivo) quali contromisure o persino architetture alternative potrebbero essere impiegate per aumentare la robustezza complessiva del sistema ai guasti o alla propagazione di informazioni false.

Domande  di Sistemi Operativi

  • 💥 Saprebbe riportare, in un contesto diverso a sua scelta, le tecniche utilizzate per affrontare il problema dello starvation nello scheduling?
  • ⭐ Descriva tutte le strategie che le vengono in mente per ottenere il risultato descritto in questo tweet
  • ⭐  ⚠️  Immagini un dispositivo IoT di fascia medio/alta, con N processi in grado di accedere a risorse strutturate dati comuni interne, in lettura e scrittura. Quale architettura di comunicazione prenderebbe in considerazione? Considerazioni: minimizzare letture/scritture su SD/SSD, ripristino dello stato al boot, eccetera.

Domande di programmazione, con significati importanti

⭐ Descriva il comportamento del seguente programma evidenziando le parti più importanti dal punto di vista teorico. (http://codepad.org/TokKR9KM)

#include <stdio.h>
int main()
{
        int a = 5;
        int *p;

        p = &a;
        printf("%d\n", *p);
        printf("%p\n", p);
        printf("\n");

        *p = *p + 1;
        printf("%d\n", *p);
        printf("%p\n", p);
        printf("\n");

        p = p + 1;
        printf("%d\n", *p);
        printf("%p\n", p);
        printf("\n");

        p = p + 1000000;
        printf("%d\n", *p);
        printf("%p\n", p);
        printf("\n");

        return 0;
}

Domande di base con immagini

  • Quale dei tre circuiti logici della figura è costituito da un ingresso e ha un'uscita sempre a TRUE? Si descrivano inoltre i vari casi. Solo in seguito si discutano eventuali problemi nel caso di circuiti reali e non ideali.
  • ⭐ Quale teorema si dovrebbe applicare per semplificare la seguente espressione booleana interna all'if? Quale sarebbe l'espressione equivalente?
if (!a || !(b && c))

Domande di ragionamento, fisica, matematica e varia cultura scientifica

  • 💥 Descriva tutti i modi NON standard che Le vengono in mente per misurare l'altezza di un edificio utilizzando un barometro.
  • ⭐ Descriva le equazioni che caratterizzano un cilindro di superficie minima e di un volume dato.
  • ⭐ In un video, si vede un elicottero che si sta alzando in volo senza muovere le pale: se le chiedessero di ottenere un risultato simile, come procederebbe? È una buona rappresentazione della realtà?

Domande di Machine Learning

  • Nel campo dell'apprendimento supervisionato, cosa rappresenta questo diagramma muto? Assegni inoltre i nomi alle curve e al punto oscurati.
  • Mi sa dire, nell'ambito dell'apprendimento supervisionato, cosa è la matrice di confusione di un classificatore, che forma ha, come si calcola, perché è importante e come sarebbe questa matrice nel caso ideale.
  • Quali sono le principali norme utilizzate nell'apprendimento supervisionato, come sono definite e in quali casi si preferisce utilizzarne una rispetto alle altre? Saprebbe abbinare correttamente le norme sul seguente diagramma?

Domande di Impresa (Industria) 4.0

  • Immagini di dover periziare una linea spianatrice di acciaio: come verificherebbe i punti O2 e O3 di Impresa (Industria) 4.0? Ricordo che:

O2. Interconnessione ai sistemi informatici di fabbrica con caricamento da remoto di istruzioni e/o part program
O3. Integrazione automatizzata con il sistema logistico della fabbrica o con la rete di fornitura e/o con altre macchine del ciclo produttivo

  • Come progetterebbe un sistema di fertirrigazione per Agricoltura 4.0? Descriva gli elementi essenziali dell'architettura e le loro interconnessioni.

Domande di Informatica Grafica

  • Descriva, dal punto di vista della programmazione, gli aspetti principali di Unreal Engine o di un altro prodotto analogo di sua conoscenza.

Domande di progettazione non banali

  • ⭐ 💥 Con quello che ha sulla scrivania (cellulare, carta, penna, ecc…) progetti un rudimentale misuratore di rigidezza delle superfici.

Domande di Ingegneria Elettronica

Dato che non tutti sono informatici…

  • Quali strategie Le vengono in mente, a vario titolo, per aumentare la tolleranza ai guasti di un dispositivo elettronico?
  • Immagini di avere un segnale elettrico proveniente dalla misurazione effettuata da un sensore e che le venga chiesto di trasformarlo in un segnale digitale che ben ricostruisca l'originale da trasportare poi su di un opportuno canale: quale informazione fondamentale dovrebbe conoscere del segnale di partenza? Come procederebbe poi per calcolare la banda necessaria?
  • Se dovesse progettare un sistema elementare di regolazione della temperatura in una stanza, come procederebbe? Notare: ho detto regolazione e non controllo, quindi può scegliere di partire con una descrizione di alto livello per poi dettagliare.
  • Saprebbe riassumere le principali differenze tra microcontrollore e microprocessore, portando alcuni esempi applicativi per l'uno e per l'altro?
  • Descriva il più accuratamente possibile quanto illustrato nella seguente figura
  • Se dovesse progettare un allarme legato a una grandezza fisica continua misurata, come procederebbe per renderlo robusto alle variazioni? A quale principio si rifarebbe? Scelga il livello di progettazione Esempio: buio/allarme.
  • Se dovesse costruire un semplice termometro per la temperatura di una comune stanza, quale componente elettronico utilizzerebbe? Quale metodo non basato su componenti elettronici potrebbe usare in alternativa?
  • Relativamente all'immagine seguente:
    • si descriva in dettaglio l'immagine in alto a sinistra
    • nell'immagine in alto a sinistra, cosa rappresentano i tre picchi nel piano blu? Come chiamerebbe il primo a sinistra?
    • Identifichi, per le tre immagini di destra, un filtro passa-alto, passa-banda e passa-basso.
    • Nell'immagine centrale, che cosa rapresenta la linea orizzontale? Quale valore è nascosto dal rettangolo nero?

Domande di Ingegneria Gestionale

Dato che non tutti sono informatici…

  • Descriva brevemente il Metodo del percorso critico
  • Quali sono, in base alla sua esperienza o in base alla letteratura, i problemi che determinano più frequentemente il fallimento di una startup e come evitarli?
  • Saprebbe descrivere cosa è il break-even o, in italiano, punto di pareggio e quali peculiarità andrebbero considerate per il suo calcolo nel caso di una startup tecnologica?
  • Saprebbe brevemente descrivere il KPI (Key Performance Indicator) o, in italiano, Indicatore Essenziale di Prestazione?

Domande da colloquio (non originali mie ma adattate da me)

  • Immagini di essere al piano terra di una casa di due piani: al piano terra ci sono 3 interruttori e al primo piano 3 lampadine A INCANDESCENZA comandate dai 3 interruttori del piano sottostante. Non è noto quali interruttori siano collegati a quali lampadine. Ciascun interruttore ha due posizioni possibili: una con l'etichetta "acceso" e una con l'etichetta "spento" e a ciascuna posizione corrisponde realmente l'azione indicata. Ciascun interruttore si trova su "spento" da lungo tempo. Avendo a disposizione solo una salita al primo piano, come si comporterebbe per determinare quali interruttori sono collegati a quali lampadine?

--

Photo by Jason Tharsiman on Unsplash

Photo by Magnet.me on Unsplash

Photo by Pietra Schwarzler on Unsplash