Fondamenti di informatica + Laboratorio di programmazione - (9 cfu)

Prof. Eduardo Calabrese Tel. 0521-905703 - Fax. 0521-905723
  E-mail. educal@ce.unipr.it
  Home page. http://www.ce.unipr.it/people/educal/


Finalità

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++.

Programma

Parte A (20 ore in aula)
Rappresentazione posizionale dei numeri. Sistemi di numerazione. Conversione di base. Aritmetica binaria.
La rappresentazione dei dati in memoria. Rappresentazione 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.
Progettazione di un programma: programmazione top-down . Metodologie di programmazione strutturata e modulare.

Parte B (54 ore: 30 in aula e 24 in laboratorio)
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.
Puntatori. Allocazione dinamica della memoria.
Uso delle librerie di base.

Attività d'esercitazione

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.

Modalità d'esame

L'esame consiste di una prova scritta, o quiz (domande a risposte chiuse, <1 ora), di una prova pratica (tema di programmazione da svolgere in C++, 2 ore) e di una eventuale prova orale.

Propedeuticità

Nessuna. Si suppone comunque che lo studente conosca le basi dell'uso del computer e di Internet.

Testi consigliati

E. Clementini: Fondamenti di Informatica – Programmazione strutturata in C++. Carocci (2206)
M. Bertozzi, E. Calabrese: Lezioni di Fondamenti di Informatica A. Santa Croce (2004)
E. Calabrese: Temi d'esame di Fondamenti di Informatica con esempi di soluzione in C++. Pitagora Editrice Bologna (Nuova edizione 2005)

Testi d'approfondimento

L. Joyanes Aguilar: Fondamenti di programmazione in C++. McGraw-Hill (2008)
S. Prata: C++ Primer Plus. Waite Group Press
H. M. Deitel, P. J. Deitel: C++ - Fondamenti di programmazione. Apogeo
H. M. Deitel, P. J. Deitel: C++ - Tecniche avanzate di programmazione. Apogeo


Ultimo aggiornamento: 05-10-2009


Chiudi la finestra