Modalità esame: Algoritmi, laurea in Ingegneria Informatica - Verona

Il corso è un fondamentale del passante e si compone di due moduli: algoritmi e complessità. Il voto finale è unico ed espresso in trentesimi: viene calcolato come la media (arrotondata per eccesso) dei voti conseguiti sui due moduli (dove 30+lode → 33).

Non appena hai un voto positivo su entrambi i moduli, puoi richiedere la registrazione del voto finale corrente, e chiudere il tuo percorso con noi, ma saremo altrettanto felici di vederti lavorare oltre per ottenere di più, che sia a titolo personale od in termini di voto.

La registrazione del voto va richiesta utilizzando questo template di mail. Il template assicura tu non ometta alcun dato necessario al processamente della tua richiesta, ma sentitevi liberi di aggiungere quanto ritenete opportuno. La mail verrà letta e gestita personalmente e fà sempre piacere scriviate anche fuori dalle righe, arrivateci insomma belli freschi come da vostre necessità ma non fraschi (non omettete i precisi rifermineti di contesto necessari al processare la vostra richiesta).

Da qui in poi, questa pagina entra nel merito della sola parte di Algoritmi.

Al voto del modulo Algoritmi concorrono, in tutto od in parte, gli eventuali progetti cui si prenda parte, e viene incentivata e riconosciuta ogni forma di collaborazione, vuoi con punti aggiuntivi o sostituendo in tutto l'esame non appena il lavoro e percorso risultassero significativi. Se hai idee che possano aiutarci a migliorare il corso o la sua fruibilità, ed hai voglia di portarle a realizzazione quella potrebbe essere una via fantastica per integrare il voto o per risolvere un esame secondo i tuoi tempi ed in percorso più autentico e tuo. Abbiamo tanti bei progetti da proporre noi stessi ma siamo aperti a riconoscere qualsiasi entusiasmo che vada ad azzeccarci coi contenuti del corso.

[Quanto segue è stato originariamente scritto prima di emergenza coVid19. Ho reputato conveniente lasciare tale forma originale inserendo in boldface e tra parentesi quadre ogni variazione introdotta e valida almeno per tutto l'anno accademico 2019-2020 (fino a febbraio 2021). La differenza più grande è che ora, a valle di quella che chiamiamo prova di laboratorio (che ora avviene invece da remoto sul tuo PC) ci sarà anche un colloquio orale. Tale colloquio mira esclusivamente a convalidare, specie in quei casi dove ho evidenze in senso contrario (sappiate che probabilmente sottovalutate gli strumenti che ho a disposizione per come organizzato l'esame), che le competenze espresse dallo studente all'esame siano farina del suo sacco.]

[Poichè la situazione è comunque in continua evoluzione e non è facile mantenere aggiornate le informazioni ti chiediamo di tenerti aggiornato al Gruppo Telegram Algoritmi 2020 anche se hai frequentato in precedenti edizioni del corso.]
L'esame che vi proponiamo consiste in una prova di laboratorio che richiede di mettersi in gioco affrontando problemi in un percorso completo che parta dalla comprensione della domanda e delle strutture sottostanti, contempli il progetto di soluzioni algoritmiche efficienti per quel contesto, e produca del codice efficace alla soluzione di istanze di varie dimensioni. Non è detto che tutto questo ti riesca al meglio la prima volta che provi l'esame, anche se ti sarai esercitato con i problemi proposti durante il corso o su altri siti con proposte di competitive programming [quest'anno cercheremo di ridurre questa dimensione della variabilità ed anche dell'open challenge in più modi. Ad esempio fornendo un argomento da approfondire autonomamente almeno 2 settimane prima di ciascun appello, e che giocherà in uno dei tre esercizi. Questo per almeno uno dei 3 esercizi. Ci si tenga aggiornati iscrivendosi al Gruppo Telegram Algoritmi 2020 dove verranno assegnati questi argomenti da approfondire per i vari appelli.] Tuttavia, sui punti della prova, che può essere ripetuta a piacere, vale la regola del max: fa fede il voto più alto mai conseguito sui vari appelli. Tali voti mantengono la loro validità anche da un anno accademico all'altro (se in futuro si valuterà di cambiare le regole, vi sarà consentito di optare per la registrazione prima del cambio delle regole). Durante la prova vi avvarrete di un sistema di sottoposizione e valutazione istantaneo delle vostre soluzioni (CMS) del tutto analogo a quello utilizzato per le esercitazioni (sia in classe che a casa) per il corso. Spero ciò consenta una vostra migliore e più serena auto-gestione durante la prova, e riesca a dare alla prova il flavour di una sfida con voi stessi. Accetto volentieri progetti che mirino a migliorare tutto questo.

La prova di laboratorio (esame spauracchio o sfida?)

La prova di laboratorio consiste in 5 ore di lavoro in aula delta [dalla tua postazione connessa in telematico. Devi avere: (1) connessione ad internet, (2) microfono e telecamera ed impegnarti a tenerli sempre attivi durante queste 5 ore in stanza Zoom. Puoi usare: tutti i materiali e gli ambienti che ti sarai predisposto in locale sulla tua macchina o sulla tua scrivania/postazione. Devi attenerti a: quanto da tè sottomesso deve essere farina del tuo sacco. Ogni competenza esibita verrà verificata e dovrà trovare riscontro nel colloquio orale.]. [Se vuoi semplificare od evitare del tutto il momento del colloquio orale, a beneficio tuo e dei tuoi compagni, ti suggeriamo di aderire alla sperimentazione (streaming su YouTube) proposta nella nella repo GitHub degli appelli d'esame e discussa nel Gruppo Telegram Algoritmi 2020. La breve guida in Markdown che spiega cosa fare per aderire ospita delle figure e la forniamo quindi raccolta in un Archivio .tgz da decomprimere con tar -xvzf oppure un Archivio .zip da decomprimere con unzip, scegli il formato di compressione che ti è più pratico.]

[Quanto scritto più sotto ha perso davero quasi tutto in attualità, lascio il cadavere perchè ne fuoriesca l'ultimo soffio.
]. È importante che abbiate un'idea generale di come essa si svolge (non serve che memorizziate nulla ora, se chiedete vi sarà ripetuto in aula, ma è importante che leggiate quanto segue e lo comprendiate per essere maggiormente consapevoli di cosa vi attende, non trovarvi a fare leggerezze, e per poter collaborare ad un buon svolgimento della prova di esame).

  1. Se vestiti leggeri, arrivate con eventuali maglioncini di riserva: l'aula delta ha un sistema di condizionamento non controllabile in locale, che su 5 ore seduti non perdona. In sessioni estive mi è capitato di studenti che hanno dovuto rinunciare a portare a termine il loro esame per questo motivo.
  2. Portatevi anche snacks, e da bere, che sono 5 ore. E venite belli tranquilli, sereni e già andati in bagno. Non esite il rischio di rimanere fuori perchè con tutti i sistemi di sicurezza allestiti abbiamo un certo margine per poter fare accedere anche i ritardatari.
  3. Siate consapevoli e collaborativi. Ad esempio: già da voi senza farci perdere tempo a tutti, potete sistemarvi belli ordinati in colonne, perchè è del tutto inutile perdere poi tempi preziosi, energie e concentrazionie, a spostarvi. Cercate di collaborare su queste cose, non solo è la cosa seria e giusta ma anche nel vostro interesse di quel giorno.
  4. Accendete la macchina ed accedete all'account esame (si accede con ID "esame" e PWD "esame" dalla schermata iniziale che compare dopo l'avvio dei calcolatori). Potete a questo punto fare i vostri piccoli esperimenti per verificare che la macchina e la tastira funzionino correttamente e siano correttamente impostate, eventualmente le impostate come da vostra preferenza o cambiate posto e macchina pur cercando di tenervi entro le colonne da me indicate.
  5. Quando vi reputate ormai stabilmente seduti, predisponete le vostre credenziali GIA nel sistema di esami dell'ateneo (https://esami.univr.it/login) a cui venite automaticamente rediretti ogni volta che aprite una finestra del browser. Questa finestra con cui entrate dovrete tenerla aperta per tutta la sessione di esame. Non vi sarà possibile rientrare e proseguire senza il mio intervento.
  6. Io chiudo le porte dell'aula (atto che definisce il concetto di ritardatario) e fornisco il token. A questo punto dal portale per gli esami dell'ateneo (https://esami.univr.it/login) vi sarà già possibile accedere ai testi degli esercizi e potrete cominciare a lavorare in tranquillità da subito.
  7. Ricordo che dovrete tenervi aperta la finestra con l'accesso con credenziali GIA per tutto l'esame. Inoltre, una volta terminato un esercizio il file sorgente (nomeproblema.cpp) per quell'esercizio che avrete già sottomesso al CMS per sua valutazione DEVE essere anche consegnato come allegato anche a questo sistema di accreditamente vostre credenziali di ateneo affinchè io possa riconoscervi i punti già ottenuti. In questo modo i controlli sono doppi, e, con le credenziali GIA, vi state prendendo la responsabilità di quanto consegnate all'ateneo.
  8. Una volta inserite le credenziali GIA, oltre ai testi ed al bottone per consegnare ufficialmente come attachments le soluzioni dei vari esercizi eventualmente svolti, trovate anche il link al sistema CMS dove potrete sottoporre le soluzioni da voi sviluppate durante l'esame per ottenerne una valutazione immediata di riferimento (e non solo di riferimento generico: terrò buoni gli stessi punti restituitivi dal CMS se i sorgenti sottomessi ai due sistemi di controllo indipendenti coincidono). Per ciascun esercizio, tendo a tenere il punteggio maggiore ottenuto su tutte le sottoposizioni al CMS, ma quel sorgente deve differire di poco (se non essere identico) ad una delle versioni sottomesse al sistema esami di ateneo che sia comunque stata sottomessa (identica) anche al CMS.
  9. Cliccate su tale link per aprire una tab del browser sul CMS, da principio non vi sarà comunque possibile entrare perchè non avrete le credenziali di accesso al CMS esame. Passero' io con calma tra i banchi per verificare che le credenziali GIA con cui siete entrati corrispondano alla persona (fatemi trovare vostro tesserino con matricola sul banco) e per farvi accedere al CMS con vostre credenziali private (ma a voi non note) che avro' avuto modo di preparare partendo dalla lista degli iscritti all'esame fornitami da esse3. Se uno si era dimenticato di iscriversi su esse3 avrà comunque accesso all'esame, ma dovrà avere la pazienza di entrare per ultimo perchè dovrò aggiungere sue credenziali private al CMS. Questa fase può avvenire con calma perchè, se lavorerete bene, prima dovrete leggere i testi ed entrare nei problemi, poi progettare delle soluzioni e decidere in merito alla codifica opportuna, quindi codificare, e solo dopo tutto questo diverrete impazienti a sottomettere al CMS per ottenere una validazione.
  10. chi esce dall'aula dopo che vi ho dato il token ed entro le prime 2 ore sceglie di ritirarsi dall'esame. Dal momento che uno esce non si accettano nuovi arrivi, e si va al bagno uno alla volta. Il meccanismo è che chi esce lascia la sua tessera sull'angolo della scrivania come semaforo, in questo modo non solo il compagno sa se può uscire, ma io potrò annotarmi l'identità di chi si assentasse troppo a lungo, e vi sarà inoltre possibile implementare meccanismi di prenotazione dell'uscita mettendo in coda le tessere segna-posto sulla scrivania.
  11. L'accesso al CMS analogo a quello che utilizziamo per le esercitazioni del corso è subordinato all'accesso al sistema esami di ateneo, all'accreditamento delle vostre credenziali GIA, ed all'accreditamento della vostra password personale a voi ignota.
  12. Potrete scaricare i testi dei problemi (tipicamente 3 problemi) da entrambi i sistemi.
  13. Durante l'esame vi sarà possibile consultare non solo questa pagina ma anche materiale reso disponibile dal seguente tutto il materiale di supporto ad essa sottostante.
  14. Dovrete fare l'upload dei sorgenti .cpp oppure .c che contengono le implementazioni c++ oppure C della soluzioni da voi elaborate. A dire il vero per il CMS li potete chiamare come volete poichè le sottoposizioni sono specifiche al singolo problema (ma l'estensione del file sottomesso deve essere corretta per indicare a quale compilatore ci si riferisca) ma sul sistema di ateneo è importante che utilizzate il nome del problema. Ad esempio, non garantisco di andare a ripescare tutto quanto vi spetti se sottomettete un file "soluzione.cpp" che risolve il Problema 1 ed un altro file "soluzione.cpp" che risolve il Problema 2. (Non è detto che io mi accorga di questo se non vado per motivi miei a fare determinati controlli sullo storico delle vostre sottoposizioni sul sistema esame UniVR). Impiegate pertanto il nome del problema, e non serve aggiungiate poi altro nel nome del file (tipo la vostra matricola, a fare questo ci pensa automaticamente il sistema UniVR). L'unica cosa che potrebbe avere un senso aggiungere al nomeproblema, se fate più sottoposizioni al sistema UniVR per uno stesso problema, potrebbe essere il numero progressivo di sottoposizione, mi potrebbe aiutare nel validare la soluzione sottomessa al CMS con la quale avete raggiunto il punteggio massimo su quell'esercizio.

    La consegna: Quando avete finito di lavorare ad un problema, affinchè una vostra soluzione vi venga effettivamente conteggiata ai fini del voto, è fondamentale che la sottomettiate secondo le modalità previste dall'account esame.

    Dovete collaborare, offrendo mente responsabile e attenzione, comprendendo le strozzature al momento necessarie al garantire una gestione sicura. Chi non sottometterà le soluzioni prodotte tramite l'account esame non si vedrà riconosciuto alcun punto. Affido tanto al vostro gestirvi in modo responsabile poichè questo è il prezzo da pagare per poter godere di una correzzione contestuale del vostro lavoro, il che spero trasformi il vostro esame in un'esperienza stimolante ed interessante.

    All'esame non è consentito comunicare o scambiare alcunchè con i compagni, nè utilizzare telefonini, calcolatrici, od altra strumentazione elettronica al di fuori della vostra postazione di lavoro (senza poter uscire dall'account esame, sappiate che se uscite rimanete fuori). In sostanza non potete sfruttare la postazione per comunicare impropriamente, ma essa rimane comunque ricca di eventuali risorse. Ovviamente la risorsa più importante resta la vostra testa, servitevi di fogli di carta e matite e penne. Ricordarsi di portare snacks, bibite, e maglioncini perchè l'aula delta può rivelarsi molto fredda.

    Durante l'esame vi sarà possibile consultare il materiale reso disponibile al seguente indirizzo:
    http://profs.sci.univr.it/rrizzi/classes/Algoritmi/modExam/materialeEsami/
    Specie durante il corso stesso siete invitati ad aiutarmi a valutare/progettare insieme quali materiali possa risultare opportuno, giusto, bello o stimolante rendere disponibili e/o predisporre a tale indirizzo.


    created:   9 giugno 2015
    updated:   3 ottobre 2016
    © Department of Computer Science
    University of Verona