Programma svolto - Indirizzo: Informatica e telecomunicazioni

ANNO SCOLASTICO 2015/2016
CLASSE 4° IC
Programma svolto per la materia Informatica
1)
Definizione di classi generiche in linguaggio Java. La struttura dati lista: confronto tra liste e vettori.
Implementazione, in linguaggio Java, di una lista concatenata semplice. L'interfaccia "List" e le classi
"LinkedList" e "ArrayList" del package "java.util". Implementazione dei metodi "get", "set",
"ensureCapacity", "trimToSize", "add", "remove" e "toString" della classe "ArrayList".
2)
Creazione di oggetti di una classe generica. Le principali sottoclassi della classe "Number". Le liste
concatenate semplici: implementazione dei metodi "size", "nodeAt", "get", “set”, "add", "swap",
"indexOf" e "remove" della classe "SimpleLinkedList". Le liste concatenate doppie: i metodi "get",
"set", "nodeAT", "add" e "remove" della classe "DoubleLinkedList". Le liste circolari.
3)
Definizione ricorsiva della struttura dati lista: implementazione dei metodi "size", "get", "set", "add",
"indexOf" e "remove" della classe "RecursiveList". L'interfaccia "Stack" e sua implementazione
tramite vettore. Esempio di programma in linguaggio Java che valuta un'espressione in notazione
polacca inversa per mezzo di uno stack.
4)
l'interfaccia "Queue" e sua implementazione tramite vettore circolare. Implementazione delle
interfacce "Stack" e "Queue" tramite liste concatenate semplici. L'interfaccia "Deque" (doppia coda).
Implementazione dell'interfaccia "Deque" tramite vettore circolare. Le code di priorità: l'interfaccia
“PriorityQueue” e sua implementazione per mezzo di un vettore e di una lista concatenata semplice.
5)
Il metodo "main" ed i parametri della linea di comando della JVM. L'istruzione "foreach" e le
interfacce "Iterable" ed "Iterator". Le classi interne. La “Java Collection Framework” e le principali
classi ed interfacce del package “java.util”.
6)
I dizionari ed i principali metodi dell'interfaccia "Map". Implementazione di un dizionario per mezzo di
una lista. Le tabelle “hash” ed il fenomeno delle collisioni. Implementazione di un dizionario per
mezzo di una tabella ad indirizzamento diretto e di una tabella “hash”. Calcolo della funzione “hash”
con i metodi della divisione e della moltiplicazione.
7)
Introduzione agli alberi informatici: definizione di nodo di un albero, nodo radice, nodo padre, nodo
figlio, nodo interno, nodo foglia, nodi fratelli, nodi ascendenti, nodi discendenti, profondità e grado di
un nodo, livello ed altezza di un albero e di un sotto-albero. Alberi ordinati e loro implementazione in
linguaggio Java.
8)
Algoritmi ricorsivi per il calcolo della profondità di un nodo, del numero di nodi, del numero di foglie e
dell'altezza di un albero ordinato. Attraversamento di un albero in ordine anticipato, posticipato e di
livello. Implementazione in linguaggio Java dei principali algoritmi di attraversamento di un albero
ordinato. Esempio di albero che rappresenta un'espressione aritmetica.
9)
Definizione di albero binario: relazione tra altezza e numero di nodi. Attraversamento di un albero
binario in ordine anticipato, posticipato e simmetrico. Alberi binari degeneri, bilanciati e completi.
Esempio d'implementazione in linguaggio Java di un albero binario e degli algoritmi di
attraversamento in ordine anticipato, simmetrico e posticipato.
10)
Gli alberi binari di ricerca: ricerca di un particolare elemento, dell'elemento minimo, dell'elemento
massimo, dell'elemento successivo, dell'elemento precedente. Inserimento e cancellazione di
elementi. Implementazione di un albero binario di ricerca per mezzo dell'interfaccia “Comparable”.
Implementazione di una coda di priorità per mezzo di un albero binario di ricerca.
11)
I grafi orientati e non orientati: definizione matematica ed interpretazione grafica. Vertici, archi, vertici
adiacenti e grado di un vertice. Cammini e cicli. Vertici e grafi connessi. Rappresentazione in
memoria centrale di un grafo tramite matrici e liste di adiacenza. Gli algoritmi di ricerca in ampiezza
ed in profondità. Implementazione, in linguaggio Java, dell'algoritmo di ricerca in ampiezza.
ANNO SCOLASTICO 2015/2016
CLASSE 4° IC
Laboratorio:
1.
Esercizi di programmazione in linguaggio Java sui file sequenziali.
2.
Il linguaggio HTML: sitografia, titoli, intestazioni, paragrafi, elenchi puntati e numerati, collegamenti
esterni o interni, immagini.
3.
Sviluppo di un sito web con Dreamweaver.
4.
I fogli di stile: concetti di base e font. La formattazione di una pagina HTML.
5.
Creazione di pagine web con l'uso dei fogli di stile.
6.
Realizzazione, con l'uso dei CSS, di un sito web con layout a 2 colonne.
7.
Esercitazioni su HTML e CSS (layout a più colonne).
8.
CSS: menu a più livelli. Uso di sprite e sliding doors. Pseudo classi.
9.
la grafica per il web: i formati delle immagini.
10. Introduzione al linguaggio JavaScript: concetti di base.
11. La struttura generale di un programma JavaScript: variabili locali e globali. Le istruzioni di controllo.
12. Esempio di sviluppo di un semplice programma in linguaggio JavaScript.
13. La gestione degli eventi in JavaScript. Introduzione ai Form.
14. Sviluppo di un programma in JavaScript che visualizza la somma tra due numeri digitati nel browser.
15. Sviluppo di un programma in JavaScript che valuta un'equazione di secondo grado.
16. Esercizio su JavaScript (pagamento di una bolletta). Il tag SELECT.
17. Cenni al bubbing degli eventi. Sviluppo di una pagina web dinamica per il gioco del "tris" in JavaScript.
18. I form XHTML: introduzione. Il tag FORM.
19. I principali controlli grafici di un form XHTML.
20. Introduzione a jQuery.
21. Esercitazione su jQuery.
22. Sviluppo del gioco del quindici in linguaggio JavaScript.
23. I package AWT e SWING per lo sviluppo di interfacce grafiche in linguagio Java. Creazione e inizializzazione di
finestre. I "layout manager" "BorderLayout", "FlowLayout" e "GridLayout".
24. I principali componenti grafici del package "java.swing".
25. Progettazione e realizzazione di menu. La gestione degli eventi. Esempio di codifica di un'applicazione con
interfaccia grafica in linguaggio java.
26. Sviluppo, in linguaggio java, dell'applicazione grafica “gioco del tris".
27. Sviluppo, in linguaggio java, dell'applicazione grafica "gioco del quindici".
28. Sviluppo, in linguaggio java, dell'applicazione grafica “calcolatrice tascabile”.
29. Sviluppo, in linguaggio java, dell'applicazione grafica “traduttore dall'Italiano all'Inglese e viceversa”.
Gli insegnanti:
Gli alunni:
______________________
________________________
______________________
________________________