1
PROGRAMMA SVOLTO ANNO SCOLASTICO 2017/2018
Materia INFORMATICA Docenti PETRETTI BIANCA
BONACINA ELIA (ITP)
Classe 4 D Indirizzo Informatica
Libri di Testo:
Piero Gallo, Maria Lina Pietramala Piero Gallo, Fabio Salerno JAVA – Ed Minerva Scuola CLOUD – Ed Minerva Scuola Piero Gallo – Pasquale Sirsi
LINGUAGGIO C e C++ Ed. Minerva Scuola
STRUTTURE DI MEMORIA DINAMICA IN LINGUAGGIO C (Manuale C e Cloud)
• Allocazione statica e dinamica della memoria • Aree di memoria (Stack e Heap)
• Allocare e deallocare memoria con i puntatori in C: funzioni Malloc() calloc() realloc() e free(). • Aliasing, garbage collection, side effect e dandling reference.
• Puntatori a variabili strutturate.
• Le strutture dati astratte di tipo coda (FIFO), pila (LIFO) e liste (semplici, circolari e bidirezionali). • Implementazione delle strutture di dati astratte in linguaggio C: strutture dati concrete dinamiche e
concatenate.
• Implementazione in C di una lista semplice (inserimento, ricerca, modifica e cancellazione di un elemento)
• Implementazione in C di una pila (inserimento, ricerca, modifica e cancellazione di un elemento) • Implementazione in C di una coda (inserimento, ricerca, modifica e cancellazione di un elemento)
INTRODUZIONE ALLA PROGRAMMAZIONE AD OGGETTI (sul Cloud)
• Nascita e scopo della programmazione ad oggetti
• O.O.P. come evoluzione della programmazione imperativa • Classi, oggetti, attributi e metodi
• Definizione di una classe
• Creazione degli oggetti: i metodi costruttori • Comunicazione e interazione tra oggetti • Il metodo main()
• Le interfacce delle classi con l’esterno
• Information hiding e incapsulamento, vantaggi dell’incapsulamento • Attributi e metodi di classe
• Oggetti come parametri
• Le aggregazioni tra oggetti: oggetti come attributi
INTRODUZIONE AL LINGUAGGIO JAVA
• Struttura di base di un’applicazione Java, Java Virtual Machine e bytecode • Sintassi delle espressioni in Java
• Tipi primitivi disponibili
• Il concetto di casting tra tipi primitivi
• Gestione dell’input/output tramite applicazioni a console • Librerie e package
• La gestione delle eccezioni (TRY… CATCH, THROWS, FINALLY) • Costrutti selettivi ed iterativi
• Gli array
2
JAVA E GLI OGGETTI
• Classi, attributi e metodi
• Livelli di visibilità PUBLIC, PROTECTED, PACKAGE e PRIVATE • Metodi costruttori e operatore NEW
• Overloading dei costruttori
• Invocazione di metodi e passaggio di parametri ai metodi • Accesso agli attributi di un oggetto
• L’oggetto corrente THIS • Variabili e metodi STATIC • La ricorsione
EREDITARIETA’ E POLIMORFISMO
• Il concetto di ereditarietà (tipi di ereditarietà singola e multipla) • Gerarchie di classi ed oggetti, classi astratte e metodi astratti
• Chiamata del metodo originale o del costruttore della classe padre, mediante la parola chiave SUPER • Polimorfismo (per dati e per metodi), casting fra classi
• La classe Object • Gerarchie di package
• Attributi, metodi e classi final
• Interfacce e differenze con le classi astratte • La classe statica Math
• Binding dinamico
• Metodi distruttori e garbage collection, metodo finalize()
FUNZIONALITA’ GRAFICHE DI JAVA
• I package java.awt e javax.swing e loro differenze
• Interfacce grafiche: oggetti GUI, componenti e contenitori delle GUI • Gli eventi e la loro gestione tramite ascoltatori
• I concetti legati alla gestione della grafica in Java • Creazione di interfacce grafiche mediante IDE Net Beans
GESTIONE DEI FILE ATTRAVERSO I FLUSSI
• Gli stream e i file
• Classi per gestire file di testo e di oggetti (solo cenni)
• Lettura e scrittura di un file di testo attraverso i flussi
• La bufferizzazione
• Lettura e scrittura di un file di oggetti: flussi di oggetti e serializzazione (trattata in laboratorio ed oggetto di verifiche sommative)
• Gestione ottimale della serializzazione per il salvataggio di più oggetti in un file, la classe ArrayList
Colico, 8 giugno 2018
Gli alunni La docente L’I.T.P. Prof.ssa Bianca Petretti Prof. Bonacina Elia _____________________