Corso di Laurea in Matematica

Informatica (a.a. 2008-09)



Prerequisiti

Nozioni matematiche di base (in particolare, insiemi e funzioni). Non è richiesta alcuna conoscenza di programmazione né la conoscenza di specifici linguaggi di programmazione.

Sillabo

- Algoritmi, programmi e linguaggi di programmazione. Diagrammi di flusso, progettazione di algoritmi.
- Hardware, software di base ed applicativo, sistema operativo, ambiente di programmazione. Codifica binaria dell'informazione: numeri naturali, numeri interi, numeri frazionari, numeri reali, caratteri, immagini.
- Architettura di un sistema di calcolo: memoria, dispositivi di Input/Output, unità di elaborazione centrale - CPU. Linguaggio macchina e modalità di esecuzione delle istruzioni. Cenni su sistemi operativi.
- Programmazione orientata agli oggetti e introduzione al linguaggio Java. Tipi di dato base. Costanti, variabili, espressioni aritmetiche e booleane. Istruzione di assegnamento. Primitive di Input/Output. Strutture di controllo: sequenzializzazione, if-else, iterazione e ciclo.
- Tipi di dato strutturati: array, stringhe. Metodi. Struttura a blocchi e regole di visibilità. Meccanismi di passaggio dei parametri. Metodi statici. Ricorsione e metodi ricorsivi.
- Classi e oggetti: concetti base, creazione di oggetti e loro manipolazione. Metodi di istanza. Array di oggetti. Ereditarietà.


Riferimenti bibliografici

[1] S. Ceri, D. Mandrioli, L. Sbattella, Informatica arte e mestiere, Casa editrice McGraw-Hill, 1999. Capitoli 1-2-11-13 (fino a Sezione 13.1 inclusa) - Sezione 14.1.

Per il linguaggio macchina e le relative istruzioni fare riferimento al Cap. 4 (fino alla Sez. 4.5 inclusa) del libro Istituzioni di Informatica, Linguaggio di riferimento Pascal di S. Ceri, D. Mandrioli, L. Sbattella, Casa editrice McGraw-Hill, 1993 oppure Informatica: istituzioni, Linguaggio di riferimento ANSI C degli stessi autori e casa editrice.

[2] Marco Bertacca e Andrea Guidi, Introduzione a Java, seconda edizione, Casa editrice McGraw-Hill, 2000.

[3] Cay S. Horstmann, Concetti di informatica e fondamenti di JAVA 2, seconda edizione, Casa editrice Apogeo, 2002.

Per l'introduzione al linguaggio Java è possibile utilizzare una qualsiasi edizione piú recente dei riferimenti [2] e [3]. Questa parte del corso è stata mutuata dal modulo di Laboratorio di Programmazione I (Corso di Laurea in Informatica). Si prega di fare riferimento alle informazioni presenti nella pagina dedicata a tale modulo.