PROGRAMMAZIONE II M - Z

INF/01 - 9 CFU - 2° semestre

Docente titolare dell'insegnamento

SIMONE FARO


Obiettivi formativi

Il corso di Programmazione 2 ha lo scopo di fornire gli strumenti per la risoluzione di semplici problemi connessi all'uso di alcune strutture dati elementari attraverso l'utilizzo della programmazione ad oggetti.


Prerequisiti richiesti

Lo studente che accede al corso di Porgrammazione II dovrà conoscere i fondamenti della programmazione ad oggetti e del paradigma di programmazione imperativa.



Contenuti del corso

Il corso parte dall'introduzione del concetto di modello di dati astratto per poi introdurre ed approfondire diversi modelli dei dati quali: pile, code, liste e alberi. In connessione alle strutture dati saranno dati i concetti di base relativi alla complessità computazionale.
Verranno inoltre studiati i principali algoritmi di gestione delle strutture dati. In particolare i principali algoritmi di ordinamento, tra cui bubble sort, insertion sort, quicksort e mergesort
Il linguaggio C++ verrà usato come strumento principale per presentare le implementazioni delle strutture dati e degli algoritmi.



Testi di riferimento

IL testo di riferimento è "Fondamenti di programmazione in C++", di Luis Joyanes Aguilar e pubblicato dalla casa editrice. McGraw-Hill. Il 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.


Altro materiale didattico

Durante il corso verrà fornito agli studenti il codice degli esempi e degli esercizi visti a lezione



Programmazione del corso

 ArgomentiRiferimenti testi
1Funzioni 
2Array 
3Puntatori e riferimenti 
4Allocazione dinamica della memoria 
5Stringhe 
6Ordinamento e ricerca 
7Ricorsione 
8Classi e oggetti 
9Classi derivate: ereditarietà e polimorfismo 
10Template 
11Sovraccaricamento degli operatori 
12Liste 
13Pile e code 
14Alberi 


Verifica dell'apprendimento


MODALITÀ DI VERIFICA DELL'APPRENDIMENTO

L'esame si svolegrà in due prove. La prima prova di laboratorio prevede lo sviluppo di un prigramma in C++ che prevede l'implementazione di alcune tre le strutture dati previste dal corso. La seconda prova consiste in un esame orale sui contenuti del corso.


PROVE IN ITINERE

Non sono previste prove in itinere


ESEMPI DI DOMANDE E/O ESERCIZI FREQUENTI

I testi delle prove di laboratorio in C++ saranno disponibili sul sito internet del docente.




Apri in formato Pdf English version