Ingegneria Informatica | TECNICHE DI PROGRAMMAZIONE
Ingegneria Informatica TECNICHE DI PROGRAMMAZIONE
cod. 0622700001
TECNICHE DI PROGRAMMAZIONE
0622700001 | |
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA | |
CORSO DI LAUREA MAGISTRALE | |
INGEGNERIA INFORMATICA | |
2016/2017 |
OBBLIGATORIO | |
ANNO CORSO 1 | |
ANNO ORDINAMENTO 2016 | |
SECONDO SEMESTRE |
SSD | CFU | ORE | ATTIVITÀ | |
---|---|---|---|---|
ING-INF/05 | 9 | 72 | LEZIONE |
Obiettivi | |
---|---|
L’insegnamento mira a fornire la capacità di analizzare un problema, di progettare una soluzione efficiente, anche attraverso l’utilizzo di tecniche di programmazione evolute e strutture dati avanzate, e di realizzarne un'implementazione in un linguaggio di programmazione orientato agli oggetti. Conoscenze e capacità di comprensione Conoscenza di tecniche di programmazione evolute e di strutture dati avanzate. Conoscenza della implementazione delle principali strutture dati in librerie standard. Comprensione della terminologia utilizzata negli ambiti di approfondimento del corso. Conoscenza e capacità di comprensione applicate Capacità di applicare le tecniche di programmazione e le strutture dati proposte nella risoluzione di problemi complessi. Capacità di implementare gli algoritmi e le strutture dati avanzate in un linguaggio di programmazione ad oggetti. |
Prerequisiti | |
---|---|
CONOSCENZA DI UN LINGUAGGIO ORIENTATO AGLI OGGETTI. CONOSCENZA DELLE STRUTTURE DATI ELEMENTARI E DEI PRINCIPI DELLA PROGRAMMAZIONE. CONOSCENZA DELLE TECNICHE DI ANALISI DEGLI ALGORITMI. |
Contenuti | |
---|---|
ALGORITMI E STRUTTURE DATI AVANZATE -INTRODUZIONE E ADT DIZIONARIO (2 ORE DI LEZIONE E 4 ORE DI ESERCITAZIONE) -BINARY SEARCH TREE (2 ORE DI LEZIONE E 2 ORE DI ESERCITAZIONE) - HEAP (2 ORE DI LEZIONE E 2 ORE DI ESERCITAZIONE) -ALBERI BILANCIATI (6 ORE DI LEZIONE E 8 ORE DI ESERCITAZIONE) -STRUTTURE DATI PER STRINGHE (2 ORE DI LEZIONE E 2 ORE DI ESERCITAZIONE) -I GRAFI (8 ORE DI LEZIONE E 8 ORE DI ESERCITAZIONE) TECNICHE DI PROGRAMMAZIONE EVOLUTE - PROGRAMMAZIONE GREEDY (4 ORE DI LEZIONE E 4 ORE DI ESERCITAZIONE) - DIVIDI-ET-IMPERA (2 ORE DI LEZIONE E 2 ORE DI ESERCITAZIONE) - TECNICHE DI RICERCA ESAUSTIVA E PROGRAMMAZIONE DINAMICA (8 ORE DI LEZIONE E 4 ORE DI ESERCITAZIONE) |
Metodi Didattici | |
---|---|
L’INSEGNAMENTO CONTEMPLA LEZIONI TEORICHE, ESERCITAZIONI IN AULA O IN LABORATORIO. NELLE LEZIONI VENGONO PRESENTATI ALGORITMI E STRUTTURE DATI E VIENE DISCUSSA LA LORO UTILIZZABILITÀ PER LA SOLUZIONE DI PROBLEMI REALI. NELLE ESERCITAZIONI IN LABORATORIO GLI STUDENTI IMPLEMENTANO GLI ALGORITMI E LE STRUTTURE DATI TRATTATI NEL CORSO. NELLE ESERCITAZIONI IN AULA VIENE ASSEGNATO AGLI STUDENTI, DIVISI PER GRUPPI DI LAVORO, UN PROJECT-WORK DA SVILUPPARE DURANTE TUTTO LO SVOLGIMENTO DEL CORSO. IL PROGETTO COMPRENDE UNITARIAMENTE TUTTI I CONTENUTI DELL’INSEGNAMENTO ED È STRUMENTALE ALL’ACQUISIZIONE, OLTRE CHE DELLE CAPACITÀ DI RISOLVERE UN PROBLEMA DI PROGRAMMAZIONE, PROGETTANDO E REALIZZANDO UNA SOLUZIONE ALGORITMICA AVANZATA, ANCHE A SVILUPPARE E RAFFORZARE LE CAPACITÀ DI LAVORARE IN TEAM. |
Verifica dell'apprendimento | |
---|---|
LA PROVA DI ESAME È FINALIZZATA A VALUTARE NEL SUO COMPLESSO LE CONOSCENZE E LE CAPACITÀ DI COMPRENSIONE DEI CONCETTI PRESENTATI A LEZIONE, NONCHE' LA CAPACITÀ DI APPLICARE TALI CONOSCENZE NELLA PROGETTAZIONE E REALIZZAZIONE DI UN PROGRAMMA PER RISOLVERE PROBLEMI COMBINATORIALI NON BANALI. LA PROVA D’ESAME SI ARTICOLA NELLA DISCUSSIONE DEL PROGETTO E DEGLI HOMEWORK SVOLTI DURANTE IL CORSO ED UNA PROVA CHE POTRÀ ESSERE SCRITTA O ORALE. CON LA PROVA SARANNO VALUTATE LE CONOSCENZE ACQUISITE IN MERITO A STRUTTURE DATI AVANZATE E TECNICHE DI PROGRAMMAZIONE EVOLUTE. CON IL PROGRETTO E GLI HOMEWORK SARANNO VALUTATE LE CAPACITA’ DI APPLICARE LE STRUTTURE DATI E LE TECNICHE DI PROGRAMMAZIONE PROPOSTE A LEZIONE E DI FORNIRNE DELLE IMPLEMENTAZIONI EFFICIENTI. NELLA VALUTAZIONE FINALE, ESPRESSA IN TRENTESIMI, LA VALUTAZIONE DEL PROGETTO PESERÀ PER IL 40%, LA PROVA PER IL 40%, GLI HOMEWORK PER IL 20% E LA PROVA PER IL RESTANTE 40%. LA LODE POTRÀ ESSERE ATTRIBUITA AGLI STUDENTI CHE DIMOSTRINO UNA PIENA CONOSCENZA E PADRONANZA DI TUTTE LE PRINCIPALI TEMATICHE AFFRONTATE AL CORSO E CAPACITA’ DI APPLICARLI ANCHE A CONTESTI DIFFERENTI DA QUELLI ANALIZZATI A LEZIONE. |
Testi | |
---|---|
MICHAEL T. GOODRICH, ROBERTO TAMASSIA, MICHAEL H. GOLDWASSER, "DATA STRUCTURES AND ALGORITHMS IN PYTHON", WILEY, 2013. ALTRO MATERIALE DIDATTICO SARÀ RESO DISPONIBILE SUL SITO DEL CORSO. LETTURE CONSIGLIATE: KLEINBERG, TARDOS, "ALGORITHM DESIGN", PRENCTICE HALL, 2005. P. MORIN, "OPEN DATA STRUCTURES", (SCARICABILE ALL'INDIRIZZO WWW.OPENDATASTRUCTURES.ORG). T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, C. STEIN, “INTRODUZIONE AGLI ALGORITMI E STRUTTURE DATI”, SECONDA EDIZIONE, MCGRAW-HILL, 2005. M. VENTO, P. FOGGIA, “ALGORITMI E STRUTTURE DATI”, MCGRAW-HILL. |
Altre Informazioni | |
---|---|
L'insegnamento è erogato in Italiano. |
BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-03-11]