Per visualizzare la struttura dell'insegnamento a cui questo modulo appartiene, consultare organizzazione dell'insegnamento
Scopo dell'insegnamento della programmazione e della sua applicazione per la risoluzione dei problemi, sia generali che di carattere matematico, per mezzo di un linguaggio di programmazione imperativo.



Nel modulo di teoria (48 ore di lezione in aula) si studiano i principi generali della programmazione, le tecniche fondamentali per l'analisi e la soluzione dei problemi e inoltre i metodi per la valutazione degli algoritmi sia in termini di efficienza che di correttezza.

Pre-requisiti.

Si richiede una buona conoscenza degli argomenti, teorici e pratici, dell'insegnamento di Informatica di Base.


Contentuti.


Richiami sulle definizioni fondamentali: problema, specifiche, algoritmo; macchina astratta, compilatore e interprete; i linguaggi di programmazione.

- Introduzione al linguaggio di programmazione. Elementi di sintassi del linguaggio.
- Programmi elementari.
 I tipi di dati. Nozione generale di tipo di dati; caratterizzazione; rappresentazione dei dati. Le espressioni e l'assegnamento.
- I tipi di dati primitivi: caratteristiche, uso e problemi.

- Struttura degli programmi.
 Il controllo del flusso: condizionale, iterazione, blocco, ... I sotto-programmi.
- 
Tipi di dati strutturati.
 Array, puntatori, stringhe e altre strutture dati: caratteristiche fondamentali e loro uso. Strutture dati dinamiche: definizione astratta e possibili implementazioni.

- Correttezza degli algoritmi: terminazione, proprietà logiche dei programmi, invarianti; metodi per la verifica della correttezza.

- Elementi di analisi di complessità.
 Nozioni di complessità in tempo e in spazio.
Studio di algoritmi notevoli.


- Complementi. Gli altri paradigmi di programmazione: a oggetti e funzionale.
Autore | Titolo | Casa editrice | Anno | ISBN | Note |
Stefano Mizzaro | Introduzione alla programmazione con il linguaggio Java (Edizione 2) | Franco Angeli | 2000 | 8846416961 | |
Crescenzi, P. - Gambosi, G. - Grossi, R. | Strutture di Dati e Algoritmi | Pearson Education Italia | 2006 | 8871922735 |
L'esame finale è unico per i moduli di teoria e laboratorio e prevede:

- una prova scritta sugli argomenti di teoria e sui progetti sviluppati in laboratorio;
- un colloquio orale nel quale possono essere discusse la prova scritta, l'attività di laboratorio e in generale gli argomenti previsti dal programma d'esame.


La prova d'esame può essere in tutto o in parte sostituita da prove di verifica effettuate durante lo svolgimento del corso.



******** CSS e script comuni siti DOL - frase 9957 ********p>