====== Esame LCS 2007/08 ====== ===== Informazioni generali ===== L'esame di quest'anno prevede la realizzazione di due esercizi e di un progetto finale. Maggiori informazioni sulle modalita' di consegna, sulla prova orale e sul calcolo del voto dell'esame sono contenute nei lucidi introduttivi della prima lezione del corso. Per la realizzazione sia i due esercizi che il progetto e' necessario scaricare il kit corrispondente da questa pagina e seguire accuratamente le istruzioni contenute nel file di README di ciascun kit. ===== Materiale primo frammento (scadenza 20/03/2008) ===== Primo kit disponibile: {{lcs:lcs08:lcsgraphs_kitf1.tar|lcsgraphs_kitf1.tar}} Scaricatelo, salvatelo in un file con lo stesso nome in una directory nuova e s-taratelo con il comando bash:~$ tar xvf lcsgraphs_kitf1.tar questo crea una directory //graphs//, all'interno della quale si trova il file //README-1// che contiene tutte le informazioni su come procedere per la realizzazione del codice dell'esercizio, su come effettuare i test richiesti prima della consegna e su come effettuare la consegna stessa. Questo primo frammento, realizzabile in C sequenziale, prevede l'implementazione di una libreria di funzioni per la creazione e la distruzione di grafi non orientatati rappresentati come liste di adiacenza. Attenzione: l'utility mpack necessaria per la consegna e' installata solo nelle macchine dei laboratori H, I ed M. Se volete effettuare la consegna del frammento da un'altra macchina o da casa potete: * scaricare il binario((ATTENZIONE! e' un file binario quindi non ha senso visualizzarlo, salvatelo su file con il tasto destro del mouse!)) da [[http://www.di.unipi.it/~susanna/LCS/mpack|mpack]], salvarlo con questo nome ad esempio in //~/bin// e aggiungere la directory al PATH (vedi [[faq|FAQ]]). * piu' semplicemente collegarvi con ssh a trudy o una macchina dei laboratori H, I o M, i cui nomi sono fujihXX, fujiiXX, fujiXX, ad esempio ssh logindelcli@trudy ssh logindelcli@fujim1 ed eseguire lo script di consegna((E' necessario che la macchina sia sotto Linux, per questo conviene connettersi a trudy; eventualmente, se ssh non si collega o restituisce connection refused, provate a connettervi a un'altra macchina.)). * se niente altro funziona, inviare a ''susanna /at/ di /dot/ unipi /dot/ it'' il file ''XXX-f1.tar'' creato dal comando tar del make consegna in attachment ad una normale mail con subject appropriato ===== Materiale secondo frammento (scadenza 28/05/2008) ===== Il secondo frammento comprende due esercizi: uno script bash (WAKEUP) ed un programma multithreaded (WATOR). Secondo kit (WAKEUP): {{lcswakeup_kitf2.tar|lcsWAKEUP_kitf2.tar}} \\ Secondo kit (WATOR): {{lcsWATOR_kitf2.tar|lcsWATOR_kitf2.tar}} Scaricateli, salvateli in un file con lo stesso nome in una directory nuova e s-tarateli con bash:~$ tar xvf lcsWAKEUP_kitf2.tar bash:~$ tar xvf lcsWATOR_kitf2.tar questo crea due directory, all'interno della quali si trovano file //README// con le informazioni su come procedere per la realizzazione del frammento, come effettuare i test richiesti prima della consegna e come effettuare la consegna stessa. **Per le due consegne valgono le stesse avvertenze del primo frammento.** Per il WATOR e' disponibile un codice di visualizzazione a colori. Scaricate il {{lcs:lcs08:tnwator2.tar.gz| tar file gzipped}} scompattatelo e leggete accuratamente il README. Dentro il tar troverete un file wator.c che NON risolve l'esercizio WATOR ma serve solo per esemplificare l'uso del visualizzatore. L'uso dei visualizzatore e' facoltativo e non e' richesto per superare il frammento 2. Per la consegna valgono le stesse avvertenze del primo frammento. ===== Materiale progetto finale (scadenza per bonus 31/07/2008) ===== Terzo kit disponibile: {{:lcs:lcs08:lcskit_f3dplan.tar|lcskit_f3dplan.tar}} Scaricatelo, salvatelo in un file con lo stesso nome in una directory nuova e s-taratelo con il comando bash:~$ tar xvf lcskit_f3dplan.tar questo crea una directory, all'interno della quale si trova il file //README// che contiene le informazioni su come procedere per la realizzazione del progetto. In particolare, il progetto prevede lo sviluppo di //dplan//, un server multithreaded di agende condivise. Per la consegna valgono le stesse avvertenze del primo frammento.