FONDAMENTI DI INFORMATICA A
cod. 18582

Anno accademico 2007/08
1° anno di corso - Primo semestre
Docente
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Matematica, informatica e statistica
Tipologia attività formativa
Base
63 ore
di attività frontali
7 crediti
sede:
insegnamento
in - - -

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

- - -