PROGRAMMAZIONE II E LABORATORIO |
Codice
|
9795537 |
Lingua
|
ITA |
Tipo di attestato
|
Attestato di profitto |
Modulo: PROGRAMMAZIONE II |
Lingua
|
ITA |
Tipo di attestato
|
Attestato di profitto |
Crediti
|
6
|
Settore scientifico disciplinare
|
INF/01
|
Ore Aula
|
24
|
Ore Esercitazioni
|
24
|
Attività formativa
|
Attività formative di base
|
Canale: A - E
Docente
|
ORTIS ALESSANDRO
(programma)
Elementi di programmazione in C++Namespace, oggetti stringa, valori di default per i parametri di funzioni, reference;Standard input e standard output in C++ (cout, cin, cerr, controllo errori di interpretazione dell’input);Input e output su file in C++ (fstream);La programmazione ad oggetti:Classi e oggetti: funzioni membro, metodi set, get e predicati, costruttori e distruttori standard, overloading e overriding di funzioni membro, overloading di funzioni, altri costruttori.Classi derivate: ereditarietà e polimorfismo: Classi derivate, tipi di ereditarietà, distruttori, ereditarietà multipla e composizione, binding, funzioni virtuali, polimorfismo, vantaggi del polimorfismo.Template: Genericità, template in C++, template di funzioni, template di classi.Sovraccaricamento degli operatori: Sovraccaricamento degli operatori unari e binari, conversione di dati e operatori di conversione di tipi.Cenni sulla complessità: notazioni asintotiche. Complessità di un problema computazionale, limite superiore, alcuni semplici casi di esempio sul calcolo del limite superiore del tempo di esecuzione.Algoritmi di ordinamento che sfruttano il concetto di ricorsione:Merge SortQuick SortImplementazione di strutture dati dinamiche sfruttando la OOP in C++Liste: Implementazione di un insieme mediante liste, liste ordinate e liste non ordinate; operazioni con le liste: inserimento, cancellazione e ricerca.Pile e code: Implementazione di pile e code mediante OOP.Alberi: Gli alberi, struttura di un albero binario, alberi binari di ricerca ed operazioni base: inserimento, ricerca e cancellazione, visite preorder, postorder e inorder.Grafi: Definizione di grafo, grafi orientati e non orientati, inserimento di un nodo, rappresentazione con matrici di adiacenza e con liste di adiacenza, inserimento di un arco. Visita in ampiezza e visita in profondità.Esercitazioni: Risoluzione guidata di specifici problemi che hanno lo scopo di sfruttare i concetti e le tecniche discusse a lezione.
Libro di testo.
Fondamenti di Programmazione in C++ Algoritmi, strutture dati e oggetti Autore: Luis Joyanes Aguilar Casa Editrice: McGraw-Hill sito web del libro
Questo volume introduce ai principi della programmazione scegliendo come linguaggio didattico proprio il C++, nonostante non lo si possa certamente definire tale. Il motivo che ci spinge in questa direzione è il desiderio di ridurre i tempi di formazione del programmatore, facendolo applicare, fin dai primi algoritmi, su un linguaggio professionale realmente utilizzato in grandi suite software.
Introduction to Algorithms
T. H Cormen C. E. Leiserson R. L. Rivest C. Stein The MIT Press
È il principale testo di riferimento nei corsi di algoritmi in molte università. L’approccio è graduale, i concetti vengono trattati partendo dai più semplici per arrivare, passo dopo passo, a quelli più avanzati; ogni capitolo presenta una classe di algoritmi, le relative tecniche di progettazione, un’area di applicazioni e gli argomenti correlati. Ritenendo importante il concetto di "efficienza", gli autori hanno incluso anche l’analisi dei tempi di esecuzione di ciascun algoritmo.Completa il testo un efficace apparato pedagogico costituito da circa 1000 esercizi e 150 problemi e casi di studio.
Libri consigliati.
Effective C++eMore Effective C++ Algoritmi, strutture dati e oggetti Autore: Scott Meyers Casa Editrice: Addison-Wesley sito dei libri
Il testo è consigliato agli studenti che intendono approfondire il tema della programmazione C++ avanzata. Ogni capitolo del libro è costituito da più "temi" presentati sotto forma di brevi trattazioni indipendenti che forniscono consigli specifici, spiegazioni sulle sottigliezze del C++ ed esempi di codice esaurienti. La descrizione articolata di ogni tema rende chiaro cosa fare, cosa non fare e perché.
|
Date di inizio e termine delle attività didattiche
|
Dal al |
Modalità di frequenza
|
Non obbligatoria
|
Canale: F - N
Docente
|
SANTORO CORRADO
|
Date di inizio e termine delle attività didattiche
|
Dal al |
Modalità di frequenza
|
Non obbligatoria
|
Canale: O - Z
Docente
|
SPATA Massimo Orazio
|
Date di inizio e termine delle attività didattiche
|
Dal al |
Modalità di frequenza
|
Non obbligatoria
|
|
|
Modulo: LABORATORIO |
Lingua
|
ITA |
Tipo di attestato
|
Attestato di profitto |
Crediti
|
3
|
Settore scientifico disciplinare
|
INF/01
|
Ore Aula
|
12
|
Ore Laboratorio
|
12
|
Attività formativa
|
Attività formative di base
|
Canale: A - E
Docente
|
ORTIS ALESSANDRO
(programma)
Elementi di programmazione in C++Namespace, oggetti stringa, valori di default per i parametri di funzioni, reference;Standard input e standard output in C++ (cout, cin, cerr, controllo errori di interpretazione dell’input);Input e output su file in C++ (fstream);La programmazione ad oggetti:Classi e oggetti: funzioni membro, metodi set, get e predicati, costruttori e distruttori standard, overloading e overriding di funzioni membro, overloading di funzioni, altri costruttori.Classi derivate: ereditarietà e polimorfismo: Classi derivate, tipi di ereditarietà, distruttori, ereditarietà multipla e composizione, binding, funzioni virtuali, polimorfismo, vantaggi del polimorfismo.Template: Genericità, template in C++, template di funzioni, template di classi.Sovraccaricamento degli operatori: Sovraccaricamento degli operatori unari e binari, conversione di dati e operatori di conversione di tipi.Cenni sulla complessità: notazioni asintotiche. Complessità di un problema computazionale, limite superiore, alcuni semplici casi di esempio sul calcolo del limite superiore del tempo di esecuzione.Algoritmi di ordinamento che sfruttano il concetto di ricorsione:Merge SortQuick SortImplementazione di strutture dati dinamiche sfruttando la OOP in C++Liste: Implementazione di un insieme mediante liste, liste ordinate e liste non ordinate; operazioni con le liste: inserimento, cancellazione e ricerca.Pile e code: Implementazione di pile e code mediante OOP.Alberi: Gli alberi, struttura di un albero binario, alberi binari di ricerca ed operazioni base: inserimento, ricerca e cancellazione, visite preorder, postorder e inorder.Grafi: Definizione di grafo, grafi orientati e non orientati, inserimento di un nodo, rappresentazione con matrici di adiacenza e con liste di adiacenza, inserimento di un arco. Visita in ampiezza e visita in profondità.Esercitazioni: Risoluzione guidata di specifici problemi che hanno lo scopo di sfruttare i concetti e le tecniche discusse a lezione.
Libro di testo.
Fondamenti di Programmazione in C++ Algoritmi, strutture dati e oggetti Autore: Luis Joyanes Aguilar Casa Editrice: McGraw-Hill sito web del libro
Questo volume introduce ai principi della programmazione scegliendo come linguaggio didattico proprio il C++, nonostante non lo si possa certamente definire tale. Il motivo che ci spinge in questa direzione è il desiderio di ridurre i tempi di formazione del programmatore, facendolo applicare, fin dai primi algoritmi, su un linguaggio professionale realmente utilizzato in grandi suite software.
Introduction to Algorithms
T. H Cormen C. E. Leiserson R. L. Rivest C. Stein The MIT Press
È il principale testo di riferimento nei corsi di algoritmi in molte università. L’approccio è graduale, i concetti vengono trattati partendo dai più semplici per arrivare, passo dopo passo, a quelli più avanzati; ogni capitolo presenta una classe di algoritmi, le relative tecniche di progettazione, un’area di applicazioni e gli argomenti correlati. Ritenendo importante il concetto di "efficienza", gli autori hanno incluso anche l’analisi dei tempi di esecuzione di ciascun algoritmo.Completa il testo un efficace apparato pedagogico costituito da circa 1000 esercizi e 150 problemi e casi di studio.
Libri consigliati.
Effective C++eMore Effective C++ Algoritmi, strutture dati e oggetti Autore: Scott Meyers Casa Editrice: Addison-Wesley sito dei libri
Il testo è consigliato agli studenti che intendono approfondire il tema della programmazione C++ avanzata. Ogni capitolo del libro è costituito da più "temi" presentati sotto forma di brevi trattazioni indipendenti che forniscono consigli specifici, spiegazioni sulle sottigliezze del C++ ed esempi di codice esaurienti. La descrizione articolata di ogni tema rende chiaro cosa fare, cosa non fare e perché.
|
Date di inizio e termine delle attività didattiche
|
Dal al |
Modalità di frequenza
|
Non obbligatoria
|
Canale: F - N
Docente
|
RAGUSA FRANCESCO
|
Date di inizio e termine delle attività didattiche
|
Dal al |
Modalità di frequenza
|
Non obbligatoria
|
Canale: O - Z
Docente
|
GUARNERA FRANCESCO
|
Date di inizio e termine delle attività didattiche
|
Dal al |
Modalità di frequenza
|
Non obbligatoria
|
|
|
|