Istituto Tecnico Industriale Statale “E. Divini” Specializzazioni: Meccanica - Elettrotecnica e Automazione - Elettronica e Telecomunicazioni - Informatica - Chimica Viale Mazzini n. 31/32 San Severino Marche (MC) Tel. 0733 645777, Fax 0733 645304, Cod. fiscale: 83003910433, E-mail:[email protected], Web: www.divini.net PROGRAMMAZIONE DIDATTICA a.s. 2009/10 MATERIA: Informatica CLASSE : 4F DOCENTE : Alessandro Benedetti ITP : Anna Maria Maccari Obiettivi specifici di apprendimento Obiettivi del primo quadrimestre (inizio a.s. - 22 dicembre) Conoscenze A1. Descrivere in modo elementare la struttura di internet, elencando i principali protocolli e distinguendo le applicazioni lato client dalle applicazioni lato server. A2. Definire le caratteristiche dei linguaggi a marcatori e riconoscere i principali tag del linguaggio HTML. A3. Distinguere le applicazioni standard dalle applicazioni in rete (applet). A4. Acquisire il concetto di classe come astrazione e sintesi nella strutturazione dei dati elementari di tipo diverso e di istruzioni associate al nome di funzione; A5. Riconoscere le caratteristiche della Programmazione Orientata agli Oggetti (OOP), e cioè incapsulamento, ereditarietà e polimorfismo, come superamento dei limiti della programmazione strutturata. A6. Distinguere l’ambiente di sviluppo dei programmi a linea di comando e di tipo IDE. A7. Conoscere la grammatica e la sintassi del linguaggio Java, relativamente ai tipi di dato e alle istruzioni. A8. Definire l’interfaccia utente e le sue componenti. Competenze B1. Costruire semplici pagine per il Web in HTML, usando i tag di formattazione, i tag di caricamento immagini e i tag per la realizzazione dei link; B2. Richiamare da pagine HTML applet già compilate; B3. Costruire semplici applet e richiamarle. B4. Costruire classi e saperle istanziare; farle interagire tramite messaggi. B5. Usare correttamente la caratteristica della OOP di incapsulamento, con l’information hiding. B6. Usare correttamente le caratteristiche della OOP dell’ereditarietà e del polimorfismo. B7. Costruire interfacce grafiche con l’uso della libreria grafica di Java. Capacità C1. Utilizzare strumenti tipici della programmazione Java, ottimizzando l’organizzazione delle classi e lo scambio dei messaggi. C2. Minimizzare la scrittura di codice, riutilizzando quello già scritto, con la progettazione gerarchica delle classi. 1 Istituto Tecnico Industriale Statale “E. Divini” Specializzazioni: Meccanica - Elettrotecnica e Automazione - Elettronica e Telecomunicazioni - Informatica - Chimica Viale Mazzini n. 31/32 San Severino Marche (MC) Tel. 0733 645777, Fax 0733 645304, Cod. fiscale: 83003910433, E-mail:[email protected], Web: www.divini.net C3. Documentare il progetto di piccole applicazioni Java tramite specifiche elementari del linguaggio UML. Obiettivi del secondo quadrimestre (7 gennaio - fine a.s.) Conoscenze Definire strutture dinamiche lineari e non lineari, e in particolare alberi binari; riconoscere la ricorsione come strumento per affrontare i problemi connessi con le liste e gli alberi binari; A10. Riconoscere l'importanza della Notazione Polacca Postfissa e nell'interpretazione di espressioni aritmetiche; A11. Definire le caratteristiche della programmazione visuale e per eventi e la terminologia di base esemplificata in Visual Basic (VB); A12. Riconoscere i principali control del VB. A13. Classificare le tipologie dei file rispetto all'organizzazione e rispetto alla elaborazione; A14. Conoscere le primitive per la gestione dei file in un linguaggio di programmazione. A9. Competenze B8. Eseguire le operazioni tipiche delle liste e degli alberi (inserimento, attraversamento, ricerca, ecc.) da un punto di vista logico (accenni all’implementazione in un linguaggio di programmazione); B9. Progettare e costruire interfacce utente amichevoli, usando in modo appropriato gli strumenti della programmazione visuale; B10. Saper usare le primitive di gestione dei file in almeno un linguaggio di programmazione; Capacità C4. Applicare efficacemente il paradigma della programmazione visuale guidata dagli eventi; C5. Scegliere l'organizzazione ottimale dei dati di semplici problemi; C6. Documentare correttamente un progetto, sia a livello di note tecniche, sia a livello di manuale di utente. Commenti agli obiettivi Per quanto riguarda la disciplina, il punto centrale del secondo anno del corso è rappresentato dall’acquisizione di una mentalità informatica professionale: si tratta di dispiegare i concetti appresi nell’anno precedente ad un maggior grado di astrazione e di profondità. Per effettuare questo salto di qualità bisogna impattare con problemi di maggior complessità. E’ necessario apprendere a dominare problemi complessi usando alla massima potenza il metodo top-down; è anche importante sviluppare il concetto della divisione del lavoro in moduli e della cooperazione produttiva, con il riconoscimento della necessità di standard. Nel primo quadrimestre si realizza il passaggio dalla programmazione strutturata (implementata nel linguaggio C) al paradigma a oggetti (implementato nel linguaggio Java), evidenziandone la maggior potenza, elasticità, economia e generalità. Si propone l'organizzazione del lavoro tramite programmazione modulare ai vari livelli. Si sviluppa il discorso dell’astrazione dei dati e delle funzioni proponendo problemi che da un punto di vista concettuale richiedono risorse di tipo elastico rispetto alle strutture rigide apprese precedentemente. Nel secondo quadrimestre, dopo aver completato la trattazione delle strutture dati dinamiche, con l'introduzione e le applicazioni relative agli alberi binari, si approfondisce il problema della programmazione vi- 2 Istituto Tecnico Industriale Statale “E. Divini” Specializzazioni: Meccanica - Elettrotecnica e Automazione - Elettronica e Telecomunicazioni - Informatica - Chimica Viale Mazzini n. 31/32 San Severino Marche (MC) Tel. 0733 645777, Fax 0733 645304, Cod. fiscale: 83003910433, E-mail:[email protected], Web: www.divini.net suale e per eventi, introdotta con il linguaggio Java, veicolandola con il linguaggio Visual Basic. Dal confronto dei diversi ambienti di sviluppo del SW si faranno scaturire le caratteristiche della progettazione e della realizzazione dei programmi. Infine si introdurrà la teoria dei file e le primitive di programmazione, in Java e/o in Visual Basic. In una prospettiva di didattica differenziata atta alla valorizzazione delle eccellenze presenti in classe, i percorsi di laboratorio saranno progressivamente differenziati, proponendo come base minima esercitazioni di difficoltà crescente e di approccio sistematico alle varie risorse dei linguaggi in studio; alcuni gruppi di studenti potranno svolgere le principali esercitazioni, dedicando una quota di tempo agli approfondimenti della programmazione in Java, sia nella prospettiva applicativa sia in rete. Si valuterà anche la possibilità di trattare comparativamente Java e C++, stante le somiglianze del linguaggio Java appreso in quest’anno, con il linguaggio C++, estensione del linguaggio C, appreso l’anno scorso. LABORATORIO Le esercitazioni di laboratorio si svolgeranno parallelamente alla trattazione teorica degli argomenti. Programmazione modulare MODULI UNITA’ DIDATTICHE U.D. 1 1 TEMPI ore Il linguaggio HTML 12 U.D. 2 8 Il web e le Applet Java Le Applet 8 2 Introduzione alla OOP e primi elementi di Java U.D. 4 Il linguaggio Java: fondamenti • Architettura di internet. I servizi di internet. Applicazioni lato client e lato server. Pagine passive e pagine attive. • I linguaggi a marcatori. Il browser. Tag. I principali tag per la formattazione. I tag per il trattamento delle immagini. I tag per l’ipertestualità. • I tag HTML per l’inserimento di Applet già confezionate. I parametri. Restrizioni e problemi di sicurezza. • Introduzione a Java. Struttura di una Applet. OBIETTIVI FINALI DI APPRENDIMENTO A1, A2 B1 A3 B2, B3 • Elementi di storia dei linguaggi di pro- U.D. 3 Dalla programmazione strutturata alla OOP. CONTENUTI 16 grammazione. Astrazione. • Concetto di classe e incapsulamento. Istanza. Concetto di ereditarietà. Concetto di polimorfismo. • Cenni di storia di Java. L’ambiente di programmazione e la struttura dei programmi. • Confronto tra applet e applicazione standard. • I tipi di dati primitivi. Le principali parole chiave e i costrutti. • Implementazione dell’incapsulamento, ereditarietà, polimorfismo in Java. • La gestione dell’input/output. Le eccezioni. I vettori. Le librerie. 3 A3, A4, A5 B3, B4 A5, A6, A7 B4, B5, B6 Istituto Tecnico Industriale Statale “E. Divini” Specializzazioni: Meccanica - Elettrotecnica e Automazione - Elettronica e Telecomunicazioni - Informatica - Chimica Viale Mazzini n. 31/32 San Severino Marche (MC) Tel. 0733 645777, Fax 0733 645304, Cod. fiscale: 83003910433, E-mail:[email protected], Web: www.divini.net • Concetto di interfaccia utente. U.D. 5 • Elementi dell’interfaccia grafica: con- A8 B7 L’interfaccia tenitori e componenti. grafica • La libreria AWT. La disposizione degli C1, C2, C3 elementi grafici. 3 • La gestione degli eventi. Gli Java avan“ascoltatori” (Listeners). zato U.D. 6 A8 • Il concetto di interfaccia come La programmaB7 classe astratta. Chiusura di una finezione guidata daC1, C2, C3, C6 stra. gli eventi • Lettura di Text box; lettura da una combo box. • Concetto di struttura dinamica. • Lista lineare. Operazioni sulle liste: inA9 serimento, attraversamento, ricerca, U.D.7 B8 eliminazione. Le liste 4 • Pila. Coda. Lista bidirezionale, circolaLe strutture, composta. re dinami• Albero binario. Strategie di attraversache mento di un albero binario: preordine, A9, A10 U.D. 8 in ordine, postordine. B8 Gli alberi binari • Albero d’ordine. • Notazione Polacca Prefissa e Postfissa. • L’ambiente di programmazione Visual Basic. • Gli oggetti dell’interfaccia grafica: A11, A12 U.D. 9 form e controlli. Proprietà, eventi e B9 Introduzione al metodi. C4 VB • Introduzione alla gestione degli eventi. 5 • Struttura di una semplice applicazione Il Visual VB. Basic • Le strutture di controllo. • I dati. Array. A12 • Procedure e funzioni. Passaggio dei pa- A11, U.D. 10 B9 rametri. Funzioni predefinite. Il linguaggio VB C4 • I menu. Le risorse del computer. Le stampe. • Concetto di file. File fisico e file logico. U.D. 11 A13, A14 • File sequenziali e file random. 6 Introduzione ai I file • Operazioni sui file: apertura, chiusura, C5, C6 file inserimento, cancellazione, lettura, ricerca. • I file in VB. Tipi di apertura. A14 • Lettura e scrittura in file sequenziali. U.D. 12 B10 I file in VB • Dichiarazione di record. Lettura e scrit- C5, C6 tura in file random. 16 20 12 12 20 18 18 20 TOTALE 180 N.B. : La tempificazione è fatta considerando 6 ore settimanali per 30 settimane. 4 Istituto Tecnico Industriale Statale “E. Divini” Specializzazioni: Meccanica - Elettrotecnica e Automazione - Elettronica e Telecomunicazioni - Informatica - Chimica Viale Mazzini n. 31/32 San Severino Marche (MC) Tel. 0733 645777, Fax 0733 645304, Cod. fiscale: 83003910433, E-mail:[email protected], Web: www.divini.net Matrice UU.DD/Obiettivi UD1 A1 A2 A3 A4 A5 A6 A7 A8 B1 B2 B3 B4 B5 B6 B7 C1 C2 C3 A9 A10 A11 A12 A13 A14 B8 B9 B10 C4 C5 C6 UD2 UD3 X X X X UD4 UD5 UD6 X X X X X X X X X X UD7 UD8 X X X UD9 UD10 X X X X UD11 UD12 X X X X X X X X X X X X X X X X X X X X X X X X X X Firmato Alessandro Benedetti 5 X X