Programmazione (2005/2006)

Corso disattivato

Codice insegnamento
4S00016
Crediti
10
Coordinatore
Ugo Solitro
L'insegnamento è organizzato come segue:
Modulo Crediti Settore disciplinare Periodo Docenti
Laboratorio 4 INF/01-INFORMATICA 1° Q - 1° Anno, 1° Q (seconda parte) Ugo Solitro
Teoria 6 INF/01-INFORMATICA 1° Q - 1° Anno, 1° Q (seconda parte) Ugo Solitro

Obiettivi formativi

Modulo: Laboratorio
-------
Scopo principale del corso è l'insegnamento dei principi generali della programmazine e l'insegnamento delle tecniche per la risoluzione dei problemi, sia generali che di carattere matematico, per mezzo di un linguaggio imperativo.

Nel modulo di laboratorio si studierà uno specifico linguaggio di programmazione imperativo (il linguaggio C) attraverso lo sviluppo di progetti che mettono in pratica le nozioni apprese nella parte di teoria.


Modulo: Teoria
-------
Scopo del corso è l'apprendimento dei principi generali della programmazione e delle tecniche per la risoluzione dei problemi, sia generali che di carattere matematico, per mezzo di un linguaggio imperativo.

In particolare nel modulo di teoria si studieranno i fondamenti della disciplina e i metodi elementari per l'analisi dei problemi e la scrittura di algoritmi efficienti e corretti.

Programma

Modulo: Laboratorio
-------
L'attività di laboratorio consisterà nello sviluppo di progetti di difficoltà crescente che prenderanno spunto dagli argmomenti trattati nel modulo di teoria.


Modulo: Teoria
-------
Prerequisiti.

Una buona conoscenza dei contenuti, sia teorici che pratici, dell'insegnamento di Informatica di Base è necessaria.

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.
Elementi di analisi degli algoritmi.
Correttezza e complessità.

Modalità d'esame

L'esame finale dell'insegnamento (teoria e laboratorio) consiste in un colloquio orale al quale si è accede di norma dopo aver superato le prove di ammissione scritte (per modulo di teoria) e pratiche (per il modulo di laboratorio).

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 riferimento del corso (edizione originale)
T. Cormen, C. Leiserson, R. Rivest Introduction to algorithms (Edizione 1) MIT Press 1990 0262031418 Testo di consultazione per l'analisi degli algoritmi
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 per l'analisi degli algoritmi (Edizione italiana)