Obiettivi formativi
<span class="datirigaalto">Il modulo intende fornire i concetti di base dell'informatica e gli strumenti fondamentali per l'utilizzo e la programmazione dei calcolatori elettronici, con particolare attenzione agli algoritmi, ai linguaggi e alle metodologie di programmazione. Come linguaggio di programmazione viene usato il C++.<br />
<br />
Maggiori informazioni su http://www.ce.unipr.it/people/educal/fi/index.html</span>
Prerequisiti
<span class=""datiriga"">Conoscenze di base sull'uso del computer e di Internet</span>
Contenuti dell'insegnamento
<p><span class="""""datiriga""""">Parte A (24 ore in aula) <br />
Rappresentazione posizionale dei numeri. Sistemi di numerazione. Conversione di base. Aritmetica binaria. La rappresentazione dei dati in memoria. appresentazione in complemento a 2. Il codice ASCII. Rappresentazione delle stringhe C. L'organizzazione dei file su disco. Cenni ai sistemi operativi Dos-Windows e Unix. Definizione di problema, dati, risultati. Concetto di algoritmo, metodo computazionale, esecutore. Algoritmi di ricerca e di ordinamento.<br />
Strutture dati: liste, alberi, tabelle. Alberi binari e loro attraversamento. Progettazione di un programma: programmazione top-down . Metodologie di programmazione strutturata e modulare.<br />
<br />
Parte B (36 ore: 12 in aula e 24 in laboratorio) <br />
Il linguaggio C++. Struttura di un programma. Tipi di dati elementari. Costanti, variabili, operatori, espressioni. Assegnamento. Istruzioni di controllo. Array e stringhe. Funzioni e prototipi. Ambito degli identificatori. Modalità di passaggio dei parametri. Stack e record di attivazione. Sovrapposizione di funzioni. Ricorsione. Tipi enumerati. Strutture. Il sistema di input/output del C++. Gestione di file. Uso dell'Editor e il debugging di un programma. Progetti multifile. Puntatori. Allocazione dinamica della memoria. Manipolazione di liste e alberi binari. Librerie.</span></p>
Programma esteso
- - -
Bibliografia
<span class="datiriga">
<ul>
<li>E. Clementini: <em>Fondamenti di Informatica – Programmazione strutturata in C++.</em> Carocci (2206)</li>
<li>M. Bertozzi, E. Calabrese: <em>Lezioni di Fondamenti di Informatica A</em>. Santa Croce (2004)</li>
<li>E. Calabrese: <em>Temi d'esame di Fondamenti di Informatica con esempi di soluzione in C++</em>. Pitagora Editrice Bologna (Nuova edizione 2005)</li>
</ul>
</span>
Metodi didattici
<span class="""datirigaalto""">Le esercitazioni sono molto importanti e hanno come obbiettivo quello di familiarizzare con l’ambiente di programmazione e di riuscire a risolvere problemi di programmazione via via più complessi.<br />
<br />
Maggiori informazioni su http://www.ce.unipr.it/people/educal/fi/modalita.html</span>
Modalità verifica apprendimento
- - -
Altre informazioni
- - -