To show the organization of the course that includes this module, follow this link Course organization
Scopo principale è l'insegnamento della programmazione e della sua applicazione per la risoluzione dei problemi, sia generali che di carattere matematico, per mezzo di un linguaggio imperativo.
Nel modulo di teoria (48 ore di lezione in aula) si studieranno 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 intermini di efficienza che di correttezza.
Prerequisiti.
Si richiede una buona conoscenza degli argomenti, teorici e pratici, dell'insegnamento di Informatica di Base.
Argomenti.
- Introduzione.
Richiami sulle definizioni fondamentali: problema, specifiche, algoritmo; macchina astratta, compilatore e interprete; i linguaggi di programmazione.
- Introduzione al linguaggio di programmazione.
Generalità sul linguaggio di programmazione C. Elementi di sintassi del linguaggio. Programmi elementari.
- I tipi di dati.
Nozione di tipo di dati; caratterizzazione; rappresentazione dei dati. Le espressioni e l'assegnamento. I tipi di dati fondamentali: 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.
Nota: il programma d'esame dettagliato sarà disponibile a fine corso.
Author | Title | Publisher | Year | ISBN | Note |
Al Kelley, Ira Pohl | C Didattica e Programmazione | Pearsons Education Italia | 2004 | 8871922190 | Testo di consultazione |
Ritchie, D. - Kernighan, B. | Il Linguaggio C | Pearson Education Italia | 2004 | 887192200x | Testo di riferimento |
T. Cormen, C. Leiserson, R. Rivest, C. Stein | Introduzione agli Algoritmi e Strutture Dati (Edizione 2) | McGraw-Hill | 2005 | 88-386-6251-7 | Testo di consultazione |
Crescenzi, P. - Gambosi, G. - Grossi, R. | Strutture di Dati e Algoritmi | Pearson Education Italia | 2006 | 8871922735 | Testo di riferimento |
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>