Diploma Universitario in Ingegneria Informatica

FONDAMENTI DI INFORMATICA 1B

(Anno Accademico 1998-99)

DOCENTE : Domenico Talia


OBIETTIVI E ORGANIZZAZIONE DEL CORSO

Il corso rappresenta il proseguimento del corso Fondamenti di Informatica 1A, quindi in esso viene completata la presentazione dei concetti di base relativi all'informatica, nonche' vengono descritti e sperimentati algoritmi, tecniche e metodologie fondamentali per l'utilizzo di strumenti informatici. Una parte rilevante del corso e' dedicata al completamento dello studio delle tecniche di programmazione ed ai fondamenti del linguaggio di programmazione Java. Oltre ad essere studiato, il linguaggio Java e' oggetto di esercitazioni in cui vengono studiate tecniche di programmazione in Java in ambiente Windows. Inoltre, il corso introduce alcuni elementi di sistemi operativi e di reti di calcolatori. In particolare, sono illustrate le funzionalità principali dei sistemi operativi con particolare riferimento alla gestione dei processi e della memoria e le tipologie ed i protocolli di rete nonché i servizi disponibili.


CONTENUTI DEL CORSO

  1. Introduzione al linguaggio Java

  2. Tipi primitivi, array, strutture di controllo, metodi, verso la programmazione ad oggetti, classi e oggetti in Java, esempi di programmi Java.
     
  3. Funzioni e procedure

  4. Definizione e chiamata di funzioni, passaggio di parametri, procedure, passaggio di parametri per indirizzo, struttura di un programma e visibilita' delle variabili, effetti collaterali, definizione e chiamata di metodi in Java.
     
  5. Programmazione ricorsiva

  6. Confronto tra ricorsione e iterazione. Algoritmi ricorsivi, la ricorsione come strumento di programmazione, esecuzione di sottoprogrammi ricorsivi e gestione a pila della memoria, esempi di programmazione ricorsiva in Java.
     
  7. File

  8. Concetto di file, tipo di dato FILE, operazioni sui file, gestione, lettura e scrittura, accesso diretto, esempi di accesso e gestione, la classe File in Java.
     
  9. Introduzione alla complessità degli algoritmi

  10. Complessità temporale e spaziale, casi peggiore, migliore e medio, misure di complessità di algoritmi e problemi, la notazione Theta.
     
  11. Strutture dati

  12. Pile, Code, Alberi: definizioni e vari tipi di realizzazione secondo i meccanismi di astrazione della programmazione ad oggetti (incapsulamento, information hiding, generalizzazione).
     
  13. Elementi di Sistemi operativi

  14. Struttura e funzioni di un sistema operativo, gestione dei processi e meccanismi di comunicazione e sincronizzazione (semafori), gestione della memoria (rilocazione, paginazione), gestione dei file. Presentazione del sistema operativo MiniUnix.
     
  15. Reti di calcolatori

  16. Cenni sui sistemi operativi di rete. Trasmissione, codifica dei dati e topologie di collegamento. reti gegrafiche e reti locali. INTERNET: posta elettronica, file transfer, terminale virtuale, WEB e comunicazione fra utenti.


ESERCITAZIONI

Programmazione in Java: realizzazione di programmi Java in ambiente Windows.


ESAME

L'esame consiste di una prova pratica di circa 90 minuti (scrittura, compilazione ed esecuzione di un programma in Java) ed una prova orale sui vari argomenti del corso.


ORARIO DEL CORSO


LIBRI DI TESTO

  1. S. Ceri, D. Mandrioli, L. Sbattella, Informatica Istituzioni, linguaggio di riferimento ansi C, McGraw-Hill, 1994.

  2. M. Bertacca, A. Guidi, Introduzione a Java, McGraw-Hill, 1997.
  3. L. Lemay, R. Cadenhead, Java 1.2 Guida Completa, Apogeo, 1998.

Il docente
riceve
Martedi' dalle ore 15.00 alle 17.00.



Il Corso di Diploma in Ingegneria Informatica

DEIS-Area Informatica