ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMAZIONE ANNUALE A.S. 2014/2015 Classe IV C Informatica Proff. Fabio Ciao e Raffaele Bortone Libro di testo: Cloud B P. Gallo, F.Salerno Minerva Scuola Libro di testo: Java programmazione ad oggetti ed applicazioni android - Atlas Appunti del docente messi sulla piattaforma Moodle U.D.1: Ripasso e consolidamento del linguaggio C++ La programmazione (procedurale strutturata) imperativa: Dati ed istruzioni di I/O Strutture di controllo (Costrutti fondamentali e derivati) Procedure e funzioni Strutture informative di dati (semplici e composte) Esempi ed implementazioni vari U.D. 2 : Le funzioni ricorsive Ricorsione ed iterazione Ricorsione indiretta (mutua) Uso di una pila per la gestione delle chiamate a procedure ricorsive Esempi ed implementazioni varie U. D. 3 : Strutture di dati dinamiche e puntatori Linguaggi di programmazione e strutture di dati dinamiche. Gestione di memoria dinamica. Rappresentazione di nuovi tipi di dati : I puntatori. I puntatori: dichiarazione di puntatori, uso di puntatori, operazioni sui puntatori. Puntatori ed array. Puntatori come valori di ritorno. Puntatori a strutture. Puntatori passati per indirizzo. Realizzazione di una pila con puntatori. Realizzazione di una coda con puntatori. Realizzazione di una lista concatenata con puntatori. Confronto tra uso di array e di strutture dinamiche con i puntatori Le liste lineari.
Pile : Realizzazione di una pila con un array o con una lista lineare Code: Realizzazione di una coda con un array o con una lista lineare Liste circolari: Operazioni con liste bidirezionali Liste bidirezionali: Operazioni con liste bidirezionali Liste multiple: Operazioni sulle liste multiple. U.D. 4: Evoluzione dei linguaggi di programmazione L importanza dell astrazione. La produzione del software: Pseudocodifica e Metodologia Top- Down L algoritmo. Programmazione strutturata. I paradigmi di programmazione. Storia dei linguaggi di programmazione. Elementi comuni ai linguaggi di programmazione. Programmazione ad oggetti. Confronto tra programmazione imperativa e ad oggetti U.D. 5 : La Programmazione ad oggetti Oggetti e classi Vantaggi della programmazione ad oggetti Implementazione di classi ed oggetti La programmazione ad oggetti: chiamate di metodi. Overloading. This Incapsulamento ed information hiding Vantaggi dell incapsulamento Classi e oggetti in notazione UML: rappresentazione di una classe. Rappresentazione di un oggetto Progettazione delle classi: individuazione delle classi. Spazio degli stati di una classe. Comportamento degli oggetti. Comunicazione tra oggetti Oggetti come parametri Le aggregazioni tra oggetti: oggetti come attributi Il metodo Main() della class Program Primi programmi ad oggetti : esempi vari Classi: Dichiarazione di attributi. Dichiarazione di metodi. Costruttori. Distruttori. Tipi di variabili, ciclo di vita, ambito di visibilita ed inizializzazione. Scelta del tipo di accesso. Classi astratte. Override
U. D. 6 : Le classi in Java Introduzione a Java : Eseguire un programma in Java#. Ambiente di sviluppo. Installazione di.eclipse/netbeans Framework. Il primo programma. Il comando di compilazione. Il tipo di dati in Java: definizione di assegnazione. Nomi di variabili. Tipi di dato. Tipo di dato Intero. Tipo char. Caratteri di Escape. Numeri in virgola mobile. Tipo booleano. Costanti Sistemi di visualizzazione ed acquisizione: sistema di visualizzazione delle informazioni in ambiente console. Acquisizione delle informazioni: La classe System La concatenazione. Conversioni (Casting) Operatori: Operatori aritmetici; operatori aritmetici composti; operatori relazionali; operatori logici; Strutture di controllo: algoritmi e pseudo codifica; istruzioni di controllo;istruzioni iterative Metodi, array e strutture : metodi; vettori, matrici e strutture;manipolazione delle stringhe. Classi ed oggetti: concetti generali. U.D. 7 : Ereditarieta e Polimorfismo Ereditarieta Specializzazione:tipi di ereditarieta e classi astratte Polimorfismo Binding statico e dinamico Richiamare i metodi delle superclassi Metodi distruttori e Garbadge Collection Esempi vari Java Concetti generali: Incapsulamento. Polimorfismo Java Polimorfismo ed ereditarieta : Costruttori; costruttori parametrizzati; membri static di una classe; array di oggetti; puntatore this; overloading; polimorfismo; ereditarieta ; namespace Esercizi vari U.D. 8 : GUI ed eventi
Le interfacce utente Oggetti componenti ed oggetti contenitori. Gerarchie di oggetti e di classi GUI. Creazione ed utilizzo dei contenitori standard Inserimento e annidamento di oggetti GUI Pulsanti e campi di testo La gestione di eventi Eventi del mouse Eventi legati agli oggetti GUI La programmazione ad oggetti: conclusioni Esempi vari U.D. 9 : Eclipse Eclipse :Primo approccio Progetti di applicazioni user friendly: Controlli: approfondimento. Proprieta delle Classi per la realizzazione di interfacce grafiche. Button e TextBox, Label. Il RadioButton, CheckBox, ListBox. Finestre di Dialogo SERIALIZZAZIONE di oggetti in un file (lettura/scrittura ) U.D. 9 : Le strutture dati (con OOP) Conoscenza e gestione dinamica delle seguenti strutture informative mediante OOP (= Oriented Programming Object) La struttura astratta di pila : le caratteristiche di una pila La struttura astratta di coda (e coda circolare) : le caratteristiche di una coda La struttura astratta di lista : le caratteristiche di una lista Laboratorio: - esercitazione in c++ sull'uso delle strutture e dei puntatori - strutture dati astratte: le liste concatenate in c++ - linguaggio di programmazione java; IDE eclipse, compilatore JDK 7/8; realizzazione di un progetto di fine anno Alunni Docenti Prof. Fabio Ciao Prof. Raffaele Bortone