ALGORITMI E STRUTTURE DATI

Leonardo RUNDO ALGORITMI E STRUTTURE DATI

0612700006
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA
CORSO DI LAUREA
INGEGNERIA INFORMATICA
2021/2022



OBBLIGATORIO
ANNO CORSO 2
ANNO ORDINAMENTO 2017
PRIMO SEMESTRE
CFUOREATTIVITÀ
432LEZIONE
324ESERCITAZIONE
216LABORATORIO


Obiettivi
L’INSEGNAMENTO APPROFONDISCE GLI ASPETTI RELATIVI ALLA PROGETTAZIONE E REALIZZAZIONE DI ALGORITMI,
UTILIZZANDO TECNICHE ITERATIVE E RICORSIVE E VALUTANDO L’EFFICIENZA DEI PROGRAMMI OTTENUTI E LE
STRUTTURE DATI FONDAMENTALI CURANDONE LA REALIZZAZIONE IN LINGUAGGIO C.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE
ALGORITMI E STRUTTURE DATI FONDAMENTALI: ALGORITMI DI ORDINAMENTO E SELEZIONE, ARRAY DINAMICI, LISTE,
ALBERI, TABELLE HASH, PILE E CODE. PARADIGMI DI PROGRAMMAZIONE ITERATIVA E RICORSIVA. CONFRONTO DI
ALGORITMI SULLA BASE DELL’EFFICIENZA DI MEMORIA E DI ESECUZIONE.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE
ANALIZZARE PROBLEMI TIPICI E REALIZZARE APPLICAZIONI CHE LI RISOLVANO UTILIZZANDO ALGORITMI E STRUTTURE
DATI STANDARD IN LINGUAGGIO C, VALUTANDONE L’EFFICIENZA. REALIZZARE PROGETTI SOFTWARE IN C DI PICCOLE
DIMENSIONI IMPIEGANDO LA COMPILAZIONE SEPARATA.
Prerequisiti
PER IL PROFICUO RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI SONO RICHIESTE CONOSCENZE SULLA PROGRAMMAZIONE IN LINGUAGGIO C.
Contenuti
COMPLEMENTI DI PROGRAMMAZIONE IN C (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/2)
PUNTATORI, ARRAY E PUNTATORI, ARITMETICA DEI PUNTATORI. LE STRUTTURE

RICORSIONE (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/2)
ASPETTI E DEFINIZIONI GENERALI. INDUZIONE MATEMATICA. DIVIDE ET IMPERA. ALGORITMI RICORSIVI NOTEVOLI: HANOI, QUICKSORT, MERGESORT

COMPLESSITÀ COMPUTAZIONALE (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/0)
DEFINIZIONI, IL MODELLO RAM, NOTAZIONI FUNZIONI BIG-O, OMEGA, THETA, CALCOLO DI COMPLESSITÀ (I VARI COSTRUTTI), CALCOLO DI COMPLESSITÀ DEGLI ALGORITMI, FORMULE DI RICORRENZA, RICORRENZE NOTEVOLI E LORO RISOLUZIONE, CENNI ALLA ANALISI AMMORTIZZATA

LISTE DINAMICHE (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/4/2)
ASPETTI GENERALI, CLASSIFICAZIONE E STRUTTURA DATI, ALGORITMI DI BASE (IN VERSIONE ITERATIVA E RICORSIVA): CREAZIONE, INSERIMENTO, RICERCA, CANCELLAZIONE, VISITA, ALTRI ALGORITMI SULLE LISTE

ALBERI BINARI (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 5/5/2)
ASPETTI GENERALI, CLASSIFICAZIONE E STRUTTURA DATI, ALGORITMI DI BASE (IN VERSIONE ITERATIVA E RICORSIVA): CREAZIONE, INSERIMENTO, RICERCA, CANCELLAZIONE, VISITA, ALTRI ALGORITMI SUGLI ALBERI

TABELLE HASH (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 5/5/2)
ASPETTI GENERALI, HASHING ESTERNO ED INTERNO, ALGORITMI DI BASE (IN VERSIONE ITERATIVA E RICORSIVA): CREAZIONE, INSERIMENTO, RICERCA, CANCELLAZIONE, VISITA, ALTRI ALGORITMI SULLE TABELLE HASH

STRUMENTI CASE (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/2/6)
AMBIENTI DI PROGRAMMAZIONE, DEBUGGING E TESTING, COMPILAZIONE SEPARATA E LIBRERIE

SUPPORTO A RUN-TIME (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/2/2)
ASPETTI GENERALI SUI MODELLI DI MEMORIA, MEMORIA STATICA E MEMORIA DINAMICA, STACK E RECORD DI ATTIVAZIONE

TOTALE ORE LEZIONE/ESERCITAZIONE/LABORATORIO 32/24/16
Metodi Didattici
L’INSEGNAMENTO CONTEMPLA LEZIONI TEORICHE, ESERCITAZIONI IN AULA ED ESERCITAZIONI PRATICHE DI LABORATORIO. NELLE ESERCITAZIONI IN AULA VENGONO PROPOSTI E COMMENTATI ALGORITMI E LA RELATIVA CODIFICA IN LINGUAGGIO C, UTILIZZANDO OPPORTUNI STRUMENTI CASE. NELLE ESERCITAZIONI IN LABORATORIO GLI STUDENTI SVOLGONO LE PRECEDENTI ATTIVITÀ IN AUTONOMIA SULLA BASE DELLE SPECIFICHE FORNITE DAL DOCENTE.
PER POTER SOSTENERE LA VERIFICA FINALE DEL PROFITTO E CONSEGUIRE I CFU
RELATIVI ALL’ATTIVITÀ FORMATIVA, LO STUDENTE DOVRÀ AVERE FREQUENTATO
ALMENO IL 70% DELLE ORE PREVISTE DI ATTIVITÀ DIDATTICA ASSISTITA.
Verifica dell'apprendimento
LA PROVA DI ESAME È FINALIZZATA A VALUTARE NEL SUO COMPLESSO: LA CONOSCENZA E LA CAPACITÀ DI COMPRENSIONE DEI CONCETTI PRESENTATI AL CORSO; LA CAPACITÀ DI APPLICARE TALI CONOSCENZE PER LA RISOLUZIONE DI PROBLEMI CHE RICHIEDONO L’UTILIZZO DI ALGORITMI E STRUTTURE DATI FONDAMENTALI, VALUTANDONE L’EFFICIENZA DI ELABORAZIONE; L’AUTONOMIA DI GIUDIZIO, LE ABILITÀ COMUNICATIVE E LA CAPACITÀ DI APPRENDERE. ESSA CONSISTE DI UNA PROVA PRATICA E DI UNA PROVA TEORICA.
LA PROVA PRATICA È TESA AD ACCERTARE LE COMPETENZE NEL REALIZZARE PROGRAMMI IN LINGUAGGIO C CHE USANO ALGORITMI (ORDINAMENTO E SELEZIONE) E STRUTTURE DATI DI BASE (PILE, CODE, LISTE, ALBERI, TABELLE HASH), ED È REALIZZATA DIRETTAMENTE SUL SISTEMA DI ELABORAZIONE PERSONALE. SONO CONSIDERATE CAPACITÀ MINIME QUELLE DI RISOLVERE IL PROBLEMA PROPOSTO, SENZA ERRORI SINTATTICI RILEVANTI; SONO RITENUTE CAPACITÀ MASSIME QUELLA DI PERVENIRE A SOLUZIONI ALGORITMICHE CHE SIANO EFFICIENTI E CHE FACCIANO USO DELLE STRUTTURE DATI E DEGLI ALGORITMI PIÙ ADEGUATI, SIA IN VERSIONE ITERATIVA CHE RICORSIVA.
IL SUPERAMENTO DELLA PROVA PRATICA È CONDIZIONE PER ACCEDERE ALLA PROVA TEORICA CHE VERTERÀ SU TUTTI GLI ARGOMENTI DEL CORSO E LA VALUTAZIONE TERRÀ CONTO DELLE CONOSCENZE DIMOSTRATE DALLO STUDENTE E DEL GRADO DEL LORO APPROFONDIMENTO, DELLA CAPACITÀ DI APPRENDERE DIMOSTRATA, DELLA QUALITÀ DELL’ESPOSIZIONE.
AI FINI DEL VOTO FINALE, ESPRESSO IN TRENTESIMI, LA PROVA PRATICA CONTRIBUISCE PER IL 60% E LA PROVA TEORICA PER IL 40%. LA LODE PUÒ ESSERE ATTRIBUITA AGLI STUDENTI CHE DIMOSTRINO UNA OTTIMA CAPACITÀ DI ANALISI E DI PROGETTO DI ALGORITMI E STRUTTURE DATI.
Testi
P. FOGGIA, M. VENTO, “ALGORITMI E STRUTTURE DATI: ASTRAZIONE, PROGETTO E REALIZZAZIONE”, MCGRAW-HILL.

MATERIALE DIDATTICO INTEGRATIVO SARA' DISPONIBILE NELLA SEZIONE DEDICATA DELL'INSEGNAMENTO ALL'INTERNO DELLA PIATTAFORMA E-LEARNING DI ATENEO (HTTP://ELEARNING.UNISA.IT) ACCESSIBILE AGLI STUDENTI DEL CORSO TRAMITE LE CREDENZIALI UNICHE DI ATENEO.
Altre Informazioni
L'INSEGNAMENTO E' EROGATO IN ITALIANO
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2022-11-21]