Docente: Ricevimento: martedì 12.00-13.30 Edificio Ingegneria dell Informazione (terzo piano) giuseppe.italiano@uniroma2.it 06 7259 7394
2 Sito Web del Corso sites.google.com/site/italianodidattica/didattica/ ingegneria-degli-algoritmi (oppure link dalla mia pagina Web) Tutto (o quasi) disponibile su Sito Web: Programma, trasparenze, materiale didattico, appunti lezioni, informazioni su esami,. Controllare spesso Sito Web per vedere se contiene informazioni desiderate
Gruppo Facebook del Corso Ingegneria degli Algoritmi Tor Vergata https://www.facebook.com/groups/476613622359419/ Chiedere l iscrizione al gruppo Facebook Dedicato esclusivamente a discussioni e notifiche sul corso Twitter @GFItaliano Tweet su argomenti relativi alle lezioni 3
Esame (9 crediti) Consiste in: 1. prova scritta 75% del voto 2. prova pratica (in Python) 25% del voto 4
Prova Scritta (75%) Due prove in itinere (esoneri): 1. Midterm: metà corso 2. Final: fine corso (tutto il programma) Prova scritta anche durante gli appelli dopo le lezioni (febbraio, luglio, settembre) E fortemente consigliato superare la prova scritta attraverso le prove in itinere. 5
Prova Scritta (75%) Se ricevi voto dopo prova scritta (o test in itinere): puoi mantenere il voto puoi rinunciare al voto, risostenendo prova scritta da capo se consegni nuova prova scritta, rinunci implicitamente al voto conseguito Se NON ricevi voto dopo prova scritta (o test in itinere), devi risostenere la prova scritta 6
Prova Pratica (25%) Due test pratici in itinere : 1. Prova intermedia: metà corso 2. Prova finale: fine corso (tutto il programma) Per chi non supera i due test pratici ci sarà da svolgere un progetto Maggiori dettagli in futuro sul sito Web E fortemente consigliato superare la prova pratica attraverso i test pratici in itinere. 7
Libri di testo C. Demetrescu, I. Finocchi, G. F. Italiano Algoritmi e Strutture Dati Seconda Edizione. Mc-Graw Hill, 2008. ISBN 978-88-386-6468-7. Web: www.ateneonline.it/demetrescu 8
Cos è un algoritmo? Definizione informale Insieme di istruzioni, definite passo per passo, in modo da poter essere eseguite meccanicamente e tali da produrre un determinato risultato 9
Cos è un algoritmo? Come risolvere un problema: trasformare input in output (efficientemente!) Problema: cucinare un arrosto Come risolvere il problema? Ricetta 10
Esempio di algoritmo 11 Copyright 2004 - The McGraw - Hill Companies, srl
Altro esempio di algoritmo 1. Se hai domande relative a questo corso, controlla Sito Web (95%) 2. Se non trovi risposta su Sito Web, chiedi a lezione o a ricevimento 3. Se non puoi controllare la Pagina Web, né venire a lezione, né a ricevimento,??????????? 12
Strutture Dati Struttura per organizzare dati Caratterizzata da operazioni 13
Strutture Dati Struttura per organizzare uova Caratterizzata da operazioni: Quante uova? Prendi un uovo; Conserva un uovo;... 14
Argomenti del Corso 1. Ordinamento e ricerca: tecniche per la progettazione di algoritmi 2. Strutture dati evolute (heap, alberi di ricerca, union-find, ) 3. Algoritmi su grafi (visite, cammini minimi) 15
Esercizi Durante il corso ti saranno assegnati degli esercizi Di regola corretti in classe dopo qualche settimana Esercizi molto importanti Più difficili della prova scritta (servono a verificare se hai capito) 16