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
|
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.
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à.
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).
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) |
******** CSS e script comuni siti DOL - frase 9957 ********p>