Vai al Contenuto Vai alla navigazione del sito

ELABORAZIONE AUTOMATICA DEI DATI (053EC)

A.A. 2018 / 2019

TAF* CFU ORE Periodo Professors Materiale didattico
ELABORAZIONE AUTOMATICA DEI DATI (053EC) Caratterizzante 3 20 Secondo semestre https://moodle2.units.it//course/view.php?id=3973
ELABORAZIONE AUTOMATICA DEI DATI (053EC) Caratterizzante 3 25 Secondo semestre https://moodle2.units.it//course/view.php?id=3973
Lingua insegnamento 

ITALIANO

Obiettivi formativi 

L'obiettivo principale del corso è quello di fornire alcuni strumenti per un approccio sistematico e scientifico alla programmazione orientata agli oggetti. Il linguaggio di programmazione di riferimento impiegato nel corso è Java.
Durante una parte consistente del corso le nozioni illustrate a lezione saranno impiegate per sviluppare alcuni (semplici) programmi Java in laboratorio informatico, usando l''ambiente di sviluppo gratuito ed open-source NetBeans.

CONOSCENZA E CAPACITA'' DI COMPRENSIONE

Conoscere le basi del linguaggio di programmazione Java.
Conoscere i fondamenti dei linguaggi di programmazione ad oggetti.
Comprendere le principali regole per scrivere un appropriato programma ad oggetti.

CONOSCENZA E CAPACITA'' DI COMPRENSIONE APPLICATE

Essere capaci di analizzare un semplice problema, costruirne un algoritmo risolutivo e tradurlo in modo efficiente in linguaggio Java.
Essere capaci di impiegare buone regole di programmazione nella scrittura di un programma ad oggetti.

AUTONOMIA DI GIUDIZIO

Analizzare un semplice problema e valutare in autonomia un appropriato schema ad oggetti per la sua risoluzione.
Tradurre autonomamente l'analisi effettuata in un appropriato programma Java.

ABILITA'' COMUNICATIVE

Saper spiegare le scelte effettuate ed i passi seguiti per risolvere un problema per mezzo della programmazione ad oggetti.

CAPACITA'' DI APPRENDERE

Saper impiegare le conoscenze acquisite come base per l'apprendimento di ulteriori argomenti, anche più complessi, sulla programmazione ad oggetti in Java o in altri linguaggi.

Prerequisiti 

E'' richiesta la conoscenza di concetti di base di programmazione e sugli algoritmi. Il corso di Elementi di Informatica è propedeutico.

Contenuti 

Introduzione alla programmazione in Java
La nascita del linguaggio Java e le sue principali caratteristiche. Compilazione in Java: file sorgente e di bytecode. Esecuzione di un programma Java. Le applet Java. L''''ambiente di programmazione NetBeans.

Gli oggetti in Java
Oggetti, classi e metodi. Costruzione di oggetti. Metodi modificatori e di accesso. La documentazione API. Variabili di istanza. Interfaccia pubblica. Metodi e parametri impliciti ed espliciti. Costruttori. La parola chiave this.

Tipi di dati fondamentali
Tipi di dati fondamentali. Costanti. Operatori di assegnazione, aritmetici e logici. Stringhe.

Strutture di controllo
Le strutture if. I cicli while e for.

Vettori ed array
Vettori ed array list. Le classi involucro e l''''autoimpacchettamento. Ciclo for generalizzato. Algoritmi di base per vettori. Vettori a due dimensioni. Copiatura di vettori.

Progettazione di classi
Coesione ed accoppiamento. Metodi di accesso, modificatori e classi immutabili. Effetti collaterali. Metodi e variabili statici. Ambito di visibilità.

Interfacce, polimorfismo ed ereditarieta''
Interfacce. Conversione tra classi ed interfacce. Definizione di polimorfismo. Classi interne (cenni). Gestione degli eventi in Java: sorgente e ricevitore (ascoltatore) di evento. L''''uso dell''''ambiente di programmazione NetBeans per costruire applicazioni dotate di interfaccia grafica, con gestione di eventi e disegni di figure grafiche. Ereditarietà. La parola chiave super. Conversione tra sottoclasse e superclasse e polimorfismo (cenni).

File e gestione delle eccezioni
Lettura e scrittura di file di testo. Gestione delle eccezioni. La struttura try catch.

Metodi didattici 

Lezioni teoriche alternate con esercitazioni pratiche di applicazione delle nozioni illustrate in laboratorio informatico. Il corso ha una pagina web con materiale didattico, esempi ed esercizi su moodle2.units.it. Durante il corso verrà impiegato l'ambiente di sviluppo e programmazione NetBeans, liberamente disponibile al sito www.netbeans.org.

Modalità di verifica dell'apprendimento 

Gli argomenti richiesti per sostenere l'esame comprendono tutto il programma del corso. Agli studenti si richiede di avere compreso i contenuti del corso e non solo di averli esclusivamente memorizzati.
Lo studente è preliminarmente tenuto a preparare un progetto Java a scelta in un elenco messo a disposizione dal docente nella pagina del corso disponibile sul sito moodle2.units.it ed ad inviarlo al docente almeno quattro giorni prima della data dell'esame via email (in formato compresso). L'esame avrà poi forma orale e pratica dinanzi ad un PC. Per verificare il livello di comprensione potrà essere anche chiesta l'applicazione delle nozioni presentate nel corso a qualche problema di calcolo, di risolvere qualche esercizio o di applicare i concetti teorici ad alcuni esempi, discutendo le proprie scelte. Nel corso dell'esame potrà anche eventualmente essere discusso il progetto presentato.

Testi di riferimento 

Cay Horstmann
Concetti di informatica e fondamenti di Java - VI edizione per Java 7 e 8
Apogeo
(Capitoli 1 - 8, 9.1 - 9.3; 9.5 - 9.9; 10; 11.1 - 11.6)
ISBN 9788891617378

Appunti ed altro materiale messo a disposizione nella pagina web del corso su moodle2.units.it

Documentazione disponibile ai siti java.sun.com (o equivalentamente http://www.oracle.com/technetwork/java/index.html) e netbeans.org