Programmazione (2006/2007)

Corso disattivato

Codice insegnamento
4S00016
Crediti
10
Coordinatore
Ugo Solitro
L'insegnamento è organizzato come segue:
Modulo Crediti Settore disciplinare Periodo Docenti
Programmazione (laboratorio) 4 INF/01-INFORMATICA 1° Q - solo 1° anno, 2° Q Ugo Solitro
Programmazione 6 INF/01-INFORMATICA 1° Q - solo 1° anno, 2° Q Ugo Solitro

Obiettivi formativi

Modulo: Programmazione (laboratorio)
-------
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 laboratorio (48 ore di lezione e pratica in laboratorio) si apprenderà in pratica il linguaggio di programmazione C attraverso lo sviluppo di progetti.


Modulo: Programmazione
-------
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.

Programma

Modulo: Programmazione (laboratorio)
-------
L'attività di laboratorio consisterà nello sviluppo di programmi e di progetti per l'apprendimento del linguaggio applicando i principi e le nozioni apprese durante le lezioni in aula.

Nota: il programma d'esame dettagliato sarà disponibile a fine corso.


Modulo: Programmazione
-------
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.

Modalità d'esame

Modulo: Programmazione (laboratorio)
-------
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.


Modulo: Programmazione
-------
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.

Testi di riferimento
Autore Titolo Casa editrice Anno 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