Skip to content

In questa repo condividiamo con i nostri studenti del corso di Algoritmi in UniVR l'archivo dei problemi dei vari appelli d'esame. Puoi trovare quì non solo i testi ma anche tutti i sorgenti dei probemi, inclusi i generatori di istanza, i solutori, e gli eventuali correttori. In questa repo trovi inoltre delle guide su come: 1. prepararti all'es…

Notifications You must be signed in to change notification settings

romeorizzi/esami-algo-public

Repository files navigation

QUESTA REPO

In questa repo condividiamo con i nostri studenti del corso di Algoritmi in UniVR l'archivo dei problemi dei vari appelli d'esame. Puoi trovare quì non solo i testi ma anche tutti i sorgenti dei probemi, inclusi i generatori di istanza, i solutori, e gli eventuali correttori. In questa repo trovi inoltre delle indicazioni e delle guide su come:

  1. prepararti all'esame,
  2. procedure in atto all'esame, cose da sapere e da fare per prendervi parte,
  3. politica di registrazione dei voti.

COME PREPARARSI

  1. Puoi sottomettere tue soluzioni ai problemi in questa repo al Contest di simulazione degli appelli d'esame passati. Riceverai feedback automatico immediato sulle tue sottoposizioni così come avresti ricevuto all'esame.

  2. Puoi prepararti coi problemi proposti per le esercitazioni della corrente edizione del corso nel contest per le esercitazioni che trovi alla pagina del corso. Riceverai feedback automatico immediato sulle tue sottoposizioni.

  3. Molto efficace per partire anche in autonomia è il percorso che trovi sulla piattaforma USACO Ttraining Program Gateway dove vieni accompagnato passo passo partendo da semplici problemi di programmazione fino ai problemi via via più complessi l'accesso ai quali sbloccherai progressivamenete.

COME AFFRONTARE UN PROBLEMA

Lavorare su carta e penna per mettere a punto degli algoritmi risolutivi. Come prima cosa di un problema occorre comprendere la struttura, solo una volta conclusa con successo questa prima fase diverrà possibile progettare un algoritmo. E, solo dopo aver ideato un primo algoritmo ancora sulla carta o nella tua testa potrai, eventualmente anche se in un ciclo a retroazione continuo, cominciare a pensare all'implementazione dello stesso. Se non vuoi sprecare tempo e fatica e smarrirti nella fase di codifica, prima devi progettare come intendi procedere all'implementazione. Infatti, anche aver già individuato l'algoritmo ottimo non implica che convenga passare direttamente alla sua codifica, progettare a tavolino una adeguata strategia di codifica può salvare molto tempo e molti sforzi. Ed è possibile che in questa fase emergano delle questioni che conviene rivedere in aggiore profondità per semplificare le cose prima di scrivere codice troppo faticoso per essere ultimato utilmente.

Vivere ogni problema come un'opportunità per acquisire nuove competenze. Condividere i tuoi approcci coi tuoi compagni e con l'insegnante.

COME AFFRONTARE L'ESAME

Strategia Consigliata: Leggere i testi di tutti i problemi messi a disposizione cercando di comprendere bene cosa venga richiesto e possibilmente di inquadrare a grandi linee le strategie risolutive che possano risultare adatte. Scegliere in quale ordine affrontarli ed essere pronto a rivedere i tempi e le energie da riservare a ciascuno di essi. Organizzarsi gli spazi. Dedicare una cartella diversa a ciascuno dei 3 problemi.

Mentre quando ti prepari al tema lavorando su singoli esercizi vorrai spremere ogni esercizio fino in fondo ricercando anche i punti più irraggiungibili, all'esame devi adottare un approccio spesso opposto: ricercare l'algoritmo perfetto, puntare solo sull'algoritmo ottimo che possa fare 100 punti, incaponirsi nel risolvere tutti i subtask compresi quelli più difficili e che ormai possono darti solo pochi punti aggiuntivi, sono tutte pretese che dovrai saper tenere sotto attento controllo. All'esame gioca in modo importante anche un certo pragmatismo. Giocare queste scelte al momento potrà preoccuparti ma in realtà con la corretta impostazione prendere le scelte corrette all'esame può essere più facile di quando, nel voler minimizzare i tempi di soluzione piena di un singolo esercizio avulso dal contesto di un esame, può essere davvero difficile bilanciare su quanto tempo dedicare alla fase di progetto dell'implementzione ed alla ricerca di maggiore pulizia nella comprensione del problema prima di procedere spediti nell'implementazione stessa e testing contestuale. All'esame devi certo prenderti il tempo di leggere i testi, e di prefigurarti quali esercizi ti appaiano più abbordabili e, anche nel dinamico, darti una ratio più conveniente tra punti e tempo necessario a conseguirli, ma, una volta scelto l'esercizio su cui lavorare sai che devi procedere con concretezza a costo di non fare il percorso più breve o di ottenere la soluzione definitiva per quel problema. Persino imputarsi sul trovare un'algoritmo polinomiali può essere talvolta ingenuo quando con poco sforzo ed una ricorsione semplice puoi invece portarti via dei punti facili da quell'esercizio e passare al salvadanaio successivo. Un errore tipico è quello di rinunciare a sottoporre almeno una qualche soluzione per ciascuno dei problemi offerti: una parte dei punti è sempre messa in palio su subtask molto più accessibili che non quelli poi via via più difficili. In particolare, gli ultimi subtask possono anche richiedere sforzi o virtuosismi notevoli e andrebbero riservati alla soddisfazione eprsonale da prendersi quando la lode è già in tasca.

Vedere il tutto come una sfida, tra l'altro non mi dispiacerebbe riuscissimo a mettere assieme una squadretta del nostro ateneo per partecipare alle ACM Contest.

DISCLAIMER

I materiali in questa repo sono riservati all'uso degli studenti dei miei corsi (Prof. Romeo Rizzi). Diffido altri soggetti dal farne un utilizzo fuori dalle finalità per cui originariamente intesi senza riconoscerne la fonte. Inoltre, nessun uso con finalità non esclusivamente didattiche è consentito se non dopo aver ottenuto esplicita autorizzazione. Infine, non posso essere ritenuto responsabile di eventuali danni, di qualsiasi natura, causati da eventualie malfunzionamento di codici o altre carenze in alcun altro materiale contenuti in questa repo.

About

In questa repo condividiamo con i nostri studenti del corso di Algoritmi in UniVR l'archivo dei problemi dei vari appelli d'esame. Puoi trovare quì non solo i testi ma anche tutti i sorgenti dei probemi, inclusi i generatori di istanza, i solutori, e gli eventuali correttori. In questa repo trovi inoltre delle guide su come: 1. prepararti all'es…

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published