Questa è una vecchia versione del documento!
Esame orale: sabato 14.9 ore 10 e martedì 20 ore 18.
Risultati dello scritto del 9.9.2011:
441800 suff 463763 ins 464879 20 466905 venire a vedere la correzione 467101 20 467641 ins 468087 suff 470199 25 473029 22
Hanno superato il laboratorio del 12.9.2011:
464885 441389 470199
Risultati dello scritto del 7.7.2011:
422257 ins 441761 ins 464587 ins 465077 22 466759 27 466905 ins 467101 ins 470199 ins
Hanno superato il laboratorio dell'8.7.2011:
464879 466759
Risultati dello scritto del 21.6.2011:
422257 ins 441389 20 441800 ins 451351 20 453089 suff 457989 20 463763 ins 464587 ins 465169 ins 466089 24 466905 ins 471565 25 473029 ins
Hanno superato il laboratorio del 22.6.2011:
439043 451051 451351 452068 452093 452853 453845 454089 454964 460073 464229 464247 464561 466089 468405 468827 471565 472131
Risultati dello scritto del 6.6.2011:
437435 21 441800 ins 444043 suff 444151 suff 451051 21 451449 27 452068 24 452826 24 452853 21 453089 ins 453845 21 454089 suff 457989 ins 463763 ins 464091 24 464229 30- 464247 27 464433 suff 464561 24 464587 ins 464879 suff 464885 suff 466759 suff 466905 ins 468405 suff 468827 suff 469299 27 472131 27
Hanno superato il laboratorio del 15.6.2011:
437666 442988 443136 451842 456464 456796 459248 464091 466632 466766 469528 421500 437435 444151 451742 464262 467680 469299 471062 471122
Docente: Roberto Grossi
Impegno: 12 CFU di cui 9 teoria/esercitazioni e 3 Laboratorio.
Ricevimento studenti | |||
---|---|---|---|
Grossi | ore | giorno | Stanza 361, Dipartimento di Informatica |
Il corso consiste ogni settimana di 3 lezioni di didattica frontale in aula e di 1 esercitazione in laboratorio nella quale le nozioni apprese in classe verranno sperimentate realizzando in C gli algoritmi corrispondenti.
Orario delle Lezioni | |||
---|---|---|---|
Giorno | Orario | Aula (Corso B) | Tipologia |
Lunedì | 9-11 | A | Teoria |
Martedì | 9-11 | A | Teoria |
Mercoledì | 9-11 | A | Teoria |
Giovedì | 9-11 | H | Laboratorio |
L'obiettivo del corso è quello di introdurre strutture dati e tecniche algoritmiche (di base) che consentano allo studente la risoluzione di problemi su sequenze, liste, alberi e grafi, in modo efficiente in tempo e/o spazio. Si discuteranno inoltre alcune tecniche analitiche per la valutazione delle prestazioni degli algoritmi, o delle limitazioni inerenti del calcolo.
Il corso prevede una intensa attività di laboratorio che porterà gli studenti a sperimentare in linguaggio C le nozioni e le tecniche algoritmiche apprese in classe.
L'esame consiste di tre prove:
IMPORTANTE per gli studenti della Classe 26: possono sostenere la sola prova scritta di AlL
come scritto dell'esame di Algoritmica (vecchio corso) e devono contattare la prof. Pagli per la verbalizzazione; la prova di laboratorio LLS
dovrà essere svolta con il dott. Gervasi.
Un centinaio di esercizi sono reperibili presso le vecchie pagine del corso
http://www.di.unipi.it/~grossi/ALG/
http://www.di.unipi.it/didadoc/asd1/page6.html
Appelli di esame | Note |
09.09.2011 ore 15:30 (scritto) | 12.09.2011 ore 14:30 (prova di laboratorio) |
Emacs
), e il compilatore gcc
, sono sufficienti per apprendere e testare le varie nozioni algoritmiche e di coding che verranno discusse in Laboratorio. I programmatori più esperti potranno eventualmente utilizzare un framework di sviluppo come Eclipse esteso con il suo plug-in Eclipse C/C++ Development Tooling. Per chi si trova a operare sotto Windows suggeriamo il compilatore e il debugger disponibili con MinGW, e consigliamo di istallare i 3 componenti suddetti secondo la sequenza: Eclipse-MinGW-CDevTool. Il consiglio è però quello di adoperare la combinazione minimale editor+gcc
al fine di non perdersi nei meandri e nelle opzioni dei vari tools (non necessari per AIL), per concentrarsi soltanto sugli aspetti di coding degli algoritmi.(ancora non attivo)
Data | Argomento | Rif. Biblio |
---|---|---|
07/3/11 | Laboratorio: Basi del C e di compilazione sotto Unix. Struttura base del programma, blocchi condizionali e cicli, input/output, array. | Cap. 2-3, 7.1-7.4 di [KR]. Lucidi} |
08/3/11 | Laboratorio: Ripasso e esercizi su funzioni e puntatori. | Sez. 4.1-4.5 e 5.1-5.5 di [KR]. Lucidi |
10/3/11 | Laboratorio: Ripasso e esercizi su passaggio dei parametri. | Lucidi |
10/3/11 | Laboratorio: Ripasso e esercizi su allocazione dinamica della memoria e gestione di stringhe. | Lucidi |
24/3/11 | Laboratorio: Redirezione dell'input e timing di un programma. Problema del sottoarray di somma massima. | Test Soluzioni |
31/3/11 | Laboratorio: Insertion Sort su Interi e Stringhe. Per casa: Implementare Merge Sort e Ricerca Binaria. | Esercizi Soluzioni |
07/4/11 | Laboratorio: QuickSort su Interi e Stringhe. | Esercizi Soluzioni |
14/4/11 | Laboratorio: Qsort su Interi e Stringhe. | Esercizi Soluzioni |
28/4/11 | Laboratorio: Le struct in C e esercizi con le liste. | Lucidi Esercizi |
12/5/11 | Laboratorio: Alberi Binari di Ricerca. | Esercizi Soluzioni |
19/5/11 | Laboratorio: Funzioni Hash. | Esercizi Esercizi Aggiuntivi Liste Soluzione |
26/5/11 | Laboratorio: Simulazione della prova di esame. | Testo |