Sei sulla pagina 1di 5

04/10/2011

Universit di Torino Facolt di Scienze MFN Corso di Studi in Informatica a.a. 2011-12

Algoritmi e Strutture Dati Lezioni prof. Elio Giovannetti


Lezione 0 Organizzazione del corso, informazioni pratiche. versione 04/10/2011

Organizzazione del corso


Lezioni in aula: 3 per settimana, di 2 ore ciascuna. In parte usate per esercitazioni di verifica dell'apprendimento (anche di nozioni teoriche); le esercitazioni si possono svolgere con carta e matita oppure alla lavagna. Esercitazioni di lab.: 1 per settimana, di 3 ore ciascuna. Gli studenti svolgono, con l'aiuto di docenti e studenti collaboratori, gli esercizi e i compiti via via assegnati, che devono essere consegnati entro le scadenze stabilite. Alcuni esercizi o compiti saranno comuni al Laboratorio di Algoritmi e al Laboratorio di C (Sistemi Operativi).

ASD-11-12 - Lez.1

04/10/2011

Corso sulla piattaforma moodle di e-learning


http://informatica.i-learn.unito.it/course/view.php?id=592 Chiave di iscrizione: quicksort Conterr il diario delle lezioni, materiale didattico, forum, compiti, ecc. Per poter seguire il corso e poi sostenere l'esame obbligatorio iscriversi al pi presto. Chi non pu assistere alle lezioni pu seguire lo svolgimento del corso attraverso la piattaforma di e-learning. Tutti gli studenti sono invitati ad essere attivi nei forum del corso ponendo domande su argomenti non capiti, rispondendo a domande dei compagni, ecc.

ASD-11-12 - Lez.1

Iscrizione al laboratorio
Nel corso moodle possibile scegliere il turno di laboratorio cui iscriversi. Si pregano gli studenti di effettuare la scelta al pi presto, e di scegliere in modo che i due turni risultino abbastanza equilibrati. In caso di forte squilibrio fra i turni, il docente forzer liscrizione al turno con meno iscritti. Chi prevede di non frequentare il laboratorio, deve iscriversi al turno non frequentanti.

ASD-11-12 - Lez.1

04/10/2011

Lorario Lezioni luned ore 14-16, aula C gioved ore 11-13, aula C venerd ore 11-13, aula C marted luned Laboratorio T1 ore 10-13: lab. Dijkstra Laboratorio T2 ore 16-19: lab. Dijkstra
ASD-11-12 - Lez.1 5

Esame
Si compone di: una prova scritta; una prova orale + laboratorio, nella quale si discutono i compiti di laboratorio e la prova scritta, e vengono rivolte domande sugli argomenti in programma. Importante: La prova orale + laboratorio viene sostenuta dopo aver superato la prova scritta e aver consegnato tutti i compiti di laboratorio, e salvo motivate eccezioni nella stessa sessione dello scritto. Coloro che durante il corso non hanno consegnato i compiti entro le scadenze, dovranno svolgere prima dellesame orale compiti supplementari che verranno assegnati dai docenti.

ASD-11-12 - Lez.1

04/10/2011

Riferimenti principali
Damiani, Giovannetti, Copie delle slides. Horstmann, Concetti di informatica e fondamenti di Java, Quinta Edizione per le versioni 6 e 7 di Java. Apogeo 2010. 45 Demetrescu, Finocchi, Italiano. Algoritmi e strutture dati. Seconda edizione. McGraw-Hill, 2008. 32 sito web: http://www.ateneonline.it/demetrescu2e/ Bertossi, Montresor. Algoritmi e strutture di dati. Seconda edizione. CittStudi Edizioni, 2010. 29 Crescenzi, Gambosi, Grossi. Strutture di dati e algoritmi. Pearson Addison-Wesley, 2006. 27 sito web: http://www.algoritmica.org
ASD-11-12 - Lez.1 7

Il contenuto del corso


Distinzione fra problema algoritmico e algoritmo. Presentazione di problemi algoritmici importanti e studio degli algoritmi e strutture-dati che li risolvono: correttezza degli algoritmi: perch un certo algoritmo risolve un dato problema (dimostrazione informale); efficienza degli algoritmi: analisi del tempo di calcolo e dello spazio di memoria impiegati dallalgoritmo; implementazione degli algoritmi in Java e/o in C; studio e applicazione delle tecniche di programmazione necessarie per la realizzazione. Classi di problemi algoritmici e di algoritmi. Creazione e implementazione di algoritmi che risolvono problemi simili a quelli illustrati.
ASD-11-12 - Lez.1 8

04/10/2011

Caratteristiche del corso.


Forte integrazione fra argomenti teorici e pratica della programmazione. Non si pu studiare la teoria senza usare il computer per provare a riscrivere gli esempi, fare gli esercizi e compiti; ma non si possono fare i compiti senza studiare le slides delle lezioni riguardanti gli argomenti corrispondenti. Presenza di aspetti logici e matematici non richiedenti conoscenze avanzate, ma originali, che devono essere capiti e studiati con precisione. Necessit quindi di un uso corretto e preciso del linguaggio e di uno studio non superficiale. Necessit di imparare a implementare gli algoritmi scrivendo i programmi in modo corretto ed elegante: indentazione, scelta degli identificatori, rispetto delle convenzioni, uso delle variabili, ecc.
ASD-11-12 - Lez.1 9

Citazioni.
Chi agisce con approssimazione, si abitua anche a parlare con approssimazione, e il parlare grossolano, impreciso e sciatto coinvolge in questa indeterminatezza anche il pensiero. [] Essere precisi e chiari nei propri pensieri il pegno della libert spirituale e della gioia del pensiero. Dal Testamento di Pavel Florenskij(*), Mosca 1921. Chi parla male, pensa male e vive male. Bisogna trovare le parole giuste: le parole sono importanti ! Dal film Palombella Rossa di Nanni Moretti, 1989.
(*) Matematico, scienziato e filosofo russo, prete ortodosso, nato nel 1882, arrestato e rinchiuso nel gulag nel 1933, fucilato nel 1937.
ASD-11-12 - Lez.1 10