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). Se su entrambi i moduli hai conesguito almeno 30, ed hai conseguito almeno una lode, richiedi subito che ti venga registrato un 30 e lode senza cercare di migliorare ulteriormente il tuo voto. 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 va chiesta per mail, consiglio di partire da questo modello di mail, ma poi fa 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 gli eventuali progetti cui si è preso parte, e vengono incentivate anche altre forme di partecipazione attiva, che producono punti bonus da aggiungere al voto base maturato all'esame. 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 accumulare punti bonus. Ma siamo aperti a riconoscere qualsiasi entusiasmo che vada ad azzeccarci coi contenuti 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. 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). Inoltre, durante la prova vi avvarrete su 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. Confido ciò vi aiuti non solo per una vostra migliore e più serena auto-gestione durante la prova, ma mira anche a dare alla prova il flavour di una sfida con voi stessi.

I punti bonus provenienti dai progetti di gruppo proposti durante l'erogazione del corso possono essere addizionati solo ad esami sostenuti successivamente al loro conseguimento (in generale, i punti bonus non devono essere intesi come modo per "aggiungere i punti che mancano") ma altrimenti non si consumano e mantengono anche essi la loro validità, virtualmente ad eternum.

La prova di laboratorio (esame spauracchio o sfida?)

La prova di laboratorio consiste in 5 ore di lavoro in aula delta. È 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.scienze.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