1 ISTITUTO TECNICO INDUSTRIALE STATALE "G. ASPRONI" PROGRAMMAZIONE DIDATTICA ANNUALE a.s. 2014-2015 CLASSE 4 a INFORMATICI Docenti : Pierpaolo Damele Arnaldo Scarpa Disciplina : Informatica Generale, Applicazioni e Lab.
Si ritiene opportuno presentare i contenuti della programmazione richiamandoli ai punti dell elenco che segue: 1. Finalità dell'insegnamento; 2. Obiettivi didattici; 3. Metodologia; 4. Verifiche e valutazioni; 5. Criteri di valutazione; 6. Recupero; 7. Collegamenti con le altre discipline; 8. Contenuti. 1. FINALITA DELL INSEGNAMENTO Finalità dell'insegnamento è quella di favorire la formazione e la crescita intellettuale civile e sociale degli alunni attraverso la conoscenza e l applicazione del metodo scientifico allo studio dei sistemi di elaborazione automatica dell informazione, con particolare riguardo alle risorse, ai procedimenti e alle tecnologie orientate alla modellizzazione software di universi di discorso attualizzabili in contesti operativi reali. Per il conseguimento di questa finalità risultano strategici: i linguaggi formali, lo sviluppo di capacità interpretative specifiche nell analisi di testi, la condivisione e la cooperazione, le abilità di veicolare attraverso reti di risorse contenuti non necessariamente tecnici ma strutturati ed organizzati in modo da favorire l interazione e la produttività personale e di gruppo, la condivisione di idee e strumenti da dirigere e far evolvere attraverso una progettualità non predefinita ovvero attraverso una progettualità continuamente rivedibile. Lo studio della disciplina, pertanto, dovrebbe tendere a: potenziare le facoltà logicointuitive dello studente, familiarizzarlo all analisi dei contesti e alla sintesi creativa, esercitarlo al ragionamento induttivo e deduttivo, familiarizzare l allievo all uso delle tecniche di problemsolving, favorire l impiego di strumenti e metodi astratti nella rappresentazione della conoscenza, combinare i vantaggi dell approccio analitico con i benefici di quello sistemico, educare alla precisione del linguaggio che è al tempo stesso responsabilità e dovere, fornire un insieme di modelli, regole, principi e procedure atti a descrivere ed interpretare la realtà, fornire abilità specifiche in grado di interagire sinergicamente con quelle delle altre discipline che caratterizzano l indirizzo di studio. 2. OBIETTIVI Obiettivi generali 1. Stimolare le capacità logico-linguistiche ed espressive. 2. Stimolare alla inesauribile problematicità delle situazioni. 3. Saper adattare i modelli teorici appresi nello studio della disciplina a situazioni e problemi che nascono da altri campi di studio o dall esperienza quotidiana 4. Saper sviluppare processi di analisi/sintesi a partire da contesti operativi relativamente complessi
5. Affinamento dei meccanismi di astrazione (generalizzazione, aggregazione, classificazione) 6. Saper modellare mediante formalismi ad hoc classi di fatti ed associazioni tra classi. 7. Utilizzare consapevolmente tecniche, strumenti e metodologie informatiche. 8. Saper agire in modo collaborativo e saper condividere risorse. 9. Saper valutare e verificare le soluzioni ottenute. 10. Sapersi esprimere in modo chiaro, rigoroso e sintetico, utilizzando il linguaggio specifico della disciplina. 11. Saper produrre report e documentazione specifica 12. Sviluppare le capacità di analisi e sintesi. 13. Analizzare situazioni diverse determinandone proprietà o strutture comuni. 14. Comprendere il significato dei formalismi impiegati. Obiettivi specifici 1. Consolidare il possesso degli strumenti e delle tecniche di programmazione di base con particolare riguardo per le iterazioni indeterminate ed i puntatori ; 2. Potenziare ed ampliare sia le competenze che le abilità operative nel campo della modellazione dei dati e delle operazioni; 3. Padroneggiare i meccanismi linguistici relativi all astrazione funzionale, approfondendo le problematiche connesse all uso dei sottoprogrammi con parametri, alle modalità di trasmissione dei parametri, alle varie nozioni di ambiente; 4. Acquisire nuove tecniche di programmazione (memoria dinamica ricorsione e memoria esterna); 5. Conoscere algoritmi notevoli per ordinamenti e ricerche; 6. Conoscere alcune strutture dati astratte notevoli (pila e coda) e saperle rappresentare in modo concreto; 7. Conoscere le principali strutture dati ricorsive (liste, alberi e grafi), le rappresentazioni concrete e le operazioni che le caratterizzano; 8. Conoscere le caratteristiche del paradigma della programmazione ad oggetti; 9. Conoscere le caratteristiche del paradigma della programmazione guidata da eventi; 10. Conoscere i fondamenti della programmazione a oggetti; 11. Conoscere e saper utilizzare la notazione UML nella progettazione OOD; 12. Conoscere e saper utilizzare i meccanismi OOP del linguaggio di programmazione Java; 13. Saper implementare in Java le strutture dati ricorsive e quelle astratte; 14. Saper implementare in Java algoritmi di ricerca e ordinamento; 15. Saper implementare in Java gerarchie di classi e classi astratte; 16. Saper gestire eccezioni in Java; 17. Conoscere e saper usare i meccanismi per la gestione della concorrenza in Java; 18. Saper gestire strutture dati permanenti in Java 19. Saper utilizzare in Java un ambiente con supporto alla programmazione grafica; 20. Conoscere le strutture dati in memoria secondaria (file) e le operazioni per gestirle; 21. Essere in grado di raffrontare la bontà di due algoritmi stimandone l efficienza computazionale in spazio ed in tempo; 22. Saper analizzare un problema concreto valutando a grana grossa le risorse hw e sw necessarie per risolverlo; 23. Saper progettare, sviluppare e collaudare un prototipo funzionante per una applicazione di piccola complessità servendosi di metodologie di programmazione
standardizzate (con specifico riferimento alla programmazione ad oggetti e/o a quella guidata dagli eventi); 24. Saper scrivere semplici applicazioni per la gestione di dati in memoria secondaria. 3. METODOLOGIA Gli argomenti saranno organizzati secondo la logica dei moduli. Il metodo didattico privilegiato sarà quello induttivo, che consente il passaggio dallo studio di esempi concreti ad una elaborazione astratta dei contenuti, senza peraltro trascurare il metodo deduttivo. Si tenterà di approcciare le nozioni ed i concetti nucleari della disciplina partendo da ciò che può stimolare la curiosità degli allievi e la loro intuizione, attingendo da esperienze facilmente comprensibili. Pertanto gli alunni saranno impegnati, individualmente ed in gruppo, in momenti operativi, indagini e riflessioni, opportunamente guidati ed integrati dall intervento del team educante. Per quanto riguarda i mezzi didattici, sarà dato ampio spazio alla lavagna multimediale che consentirà anche la fruizione in aula del libro di testo in una modalità guidata e condivisa che, oltre a facilitare la veicolazione dei contenuti, potrà risultare ancora più strategica nell apprendimento di un proficuo metodo di studio e di lavoro soprattutto per gli studenti che possiedono minore autonomia e/o maggiori difficoltà di apprendimento. Per quanto attiene all attività di laboratorio essa costituisce per la disciplina un momento fondamentale dei processi di apprendimento: quello in cui la metodologia scientifica trova la sintesi ideale tra teoria e prassi, tra verità formulate e verità (o errori) fattuali, tra astrazione e concretezza. In questa sede si dovrà far leva necessariamente anche su altre capacità, su altre abilità: approccio intuitivo, quello euristico, quello operativo e problematizzato serviranno a stimolare le motivazioni allo studio inteso come ricerca della verità, della bellezza, della semplicità, dell efficacia, dell efficienza; e qui la realizzazione di lavori interdisciplinari potrà consolidare e rinforzare abilità già possedute o spingere a desiderare di possederne di nuove. 4. VERIFICHE E VALUTAZIONE La somministrazione periodica delle verifiche servirà a monitorare i processi di apprendimento individuali degli allievi in termini di conoscenze teoriche ed abilità operative. Le verifiche saranno nelle tre tipologie previste, ovvero: scritte, orali e pratiche. Si cercherà di distribuire, nell'arco dell'anno scolastico, almeno una prova strutturata per Modulo formativo. La prova strutturata, articolata per quesiti sarà del tipo: Vero/Falso: se il distrattore è uno solo; Scelta Multipla: se i distrattori sono più di uno; Corrispondenze: se agli allievi sono proposte due serie di termini; Domande Esplorative/Concettuali: costruite per saggiare la comprensione globale dell argomento ed introdotte da: Chi/Che cosa/perché/come/quale/quando; Domande a Risposta Aperta-Guidata, per saggiare le capacità di sintesi, di applicazione e di valutazione. Domande a Risposta Aperta.
Ogni prova sarà costituita da un congruo numero di quesiti; il punteggio attribuito ai singoli quesiti potrà mutare in relazione al valore ed alla complessità della domanda da essi posta.. Le verifiche serviranno a: Valutare il livello di comprensione di ogni Unità Didattica (Verifiche Formative); Stabilire quali contenuti sono stati compresi correttamente, quali sono quelli che presentano criticità, quali, infine, quelli che non sono stati compresi affatto; Determinare il numero di obiettivi specifici raggiunti ed il numero di quanti sono ancora da raggiungere; Valutare se i metodi, i materiali e gli strumenti usati sono stati appropriati; Acquisire gli elementi di conoscenza che forniscono l aiuto necessario per impostare nel modo più corretto possibile l azione di stimolo. La valutazione sarà intesa come necessità di interpretare una misurazione: quella attribuita alle verifiche sulla base di un criterio d oggettività. Quindi la valutazione verrà intesa non come elemento di decisione sul promuovere o respingere (se questa fosse la sua funzione essa esorbiterebbe già dal legittimo uso educativo ad essa stesso sotteso) ma come momento informativo per impostare nel modo più corretto possibile un azione di stimolo e di guida a completo beneficio degli allievi. Con la valutazione, non si mirerà tanto a rilevare quanta conoscenza gli alunni abbiano fino a quel momento memorizzato, bensì a rilevare il grado di comprensione e di ragionamento autonomo conseguiti da ogni allievo rispetto ai livelli di partenza. La valutazione dell apprendimento non dovrà fornire un giudizio tale da mettere in dubbio le potenzialità dello studente, ma dovrà fornire allo stesso, indicazioni per modificare o consolidare il proprio metodo di studio e/o il proprio atteggiamento nei confronti della scuola. Nella determinazione della valutazione si terrà inoltre conto dei seguenti parametri: giudizio complessivo sullo studente in relazione al suo percorso formativo, ai suoi interessi, alla disponibilità al dialogo educativo, all impegno profuso per superare le difficoltà, alle sue possibilità di studio autonomo e maturo; capacità dello studente di recuperare e di annullare i ritardi nella preparazione. La valutazione finale sarà la sintesi di quanto emerso nel corso dell anno, dovuta all unificazione dei risultati riportati nelle prove scritte, orali e pratiche, e, in generale, dalla rilevazione del comportamento scolastico dell alunno. 5. CRITERI DI VALUTAZIONE CONOSCENZE/COMPETENZE LIVELLI Descrittori Voto (Giudizio) A Rifiuto dell attività proposta - Compito in bianco 1 (Nullo) B Conoscenze prevalentemente lacunose, incapacità di orientarsi nei contenuti, anche se guidato, uso di un linguaggio inadeguato e scorretto 2/3 (Scarso) C Conoscenze lacunose e superficiali, uso di un linguaggio 4 (Insuff.)
D inadeguato e scorretto Conoscenze incomplete e superficiali, capacità di orientarsi solo se guidato, uso di un linguaggio spesso inadeguato e scorretto. 5 (Mediocre) E F Conoscenza degli aspetti fondamentali del programma e l applicazione di questi nei casi più semplici; Esposizione coerente e linguisticamente accettabile dei contenuti. Conoscenza sufficientemente approfondita, comprensione autonoma dei contenuti semplici, uso di un linguaggio abbastanza corretto ma con qualche improprietà. 6 (Suff.) 7 (Discreto) G Conoscenza completa e abbastanza approfondita, autonoma comprensione anche dei contenuti complessi uso di un linguaggio corretto pur con qualche improprietà 8 (Buono) H Conoscenza completa, approfondita, facilità a comprendere, collegare e rielaborare in modo autonomo i contenuti, anche in ambiti diversi, uso di un linguaggio corretto e appropriato. 9 (Ottimo) I Qualora, in presenza delle condizioni del punto precedente, vi sia anche un apporto personale di arricchimento delle conoscenze richieste 10 (Eccellente) 6. RECUPERO Poiché alla scuola viene sempre più richiesto di considerare, interpretare ed orientare i bisogni e le problematiche di tutti e nondimeno di accogliere ed includere anche quelle specificatamente soggettive, in particolare laddove si ponga la questione di garantire parità di diritti nell accesso e nella fruizione dei saperi e delle conoscenze a quegli alunni maggiormente disagiati a livello culturale e sociale, occorre tentare di ridurre il divario tra i cosiddetti "bravi" e quelli meno bravi ; rimuovere quelle carenze che risultano da freno all'apprendimento delle nuove conoscenze; stimolare il più possibile la curiosità intesa come premessa verso nuovi saperi. Nella fase di recupero si procederà con l utilizzo di interventi, suggerimenti e consigli, didattico/educativo sia individualizzati, sia di gruppo, con l utilizzo, possibilmente, delle nuove tecnologie multimediali. L'organizzazione del recupero dei moduli avverrà nell'ambito delle ore curricolari con aggregazioni temporanee degli alunni suddivisi per piccoli gruppi di livello omogeneo. Si cercherà di rilevare: le motivazioni dell insuccesso: carenze di base/lacune pregresse/non sa studiare/non riesce ad applicare i concetti/studia poco/non studia la direzione evolutiva dei processi di apprendimento: miglioramento/peggioramento/stazionarietà nella preparazione il livello dell'insuccesso: non molto grave/grave/gravissimo.
Altri indicatori si ricercheranno attraverso: disagio causato dalla lontananza della scuola dal domicilio, disagio personale dovuto a problematiche adolescenziali e/o familiari e/o eccessivo numero di alunni presenti nella classe e/o qualsiasi altro elemento di disturbo oggettivamente rilevabile. 7. COLLEGAMENTI CON LE ALTRE DISCIPLINE Si tenterà, qualunque sia l'argomento trattato, di evidenziare le correlazioni con le altre discipline, in particolare con: Inglese, Matematica, Sistemi, Teoria e Progettazione di Sistemi Informatici e Telematici, Telecomunicazioni; si cercherà inoltre di stabilire collaborazioni attive e proficue con i colleghi delle materie di indirizzo maggiormente affini, cercando di realizzare relazioni sinergiche sia nel tempo che nella quantità e qualità degli argomenti da svolgere (ad esempio attraverso anticipazione/posticipazione degli stessi oppure mediante il loro rafforzamento/indebolimento o ancora attraverso dilatazione/condensazione dei contenuti); si tenterà in ogni caso di sviluppare le occasioni di dialogo interdisciplinare che in itinere dovessero apparire utili agli studenti sotto qualsiasi punto di vista. 8. CONTENUTI MODULO 0 - Recupero dei prerequisiti U.D. 1: Diagrammi a blocchi strutturati Condizioni semplici e composte Costrutti di selezione Costrutti di iterazione I/O L assegnamento Costanti, variabili, espressioni Tipi di dato. U.D. 2: Array omogenei a 1 e a 2 dimensioni Iterazioni su array Iterazioni annidate Array eterogenei Tipi di dato d utente Puntatori - Stringhe. U.D. 3: Sottoprogrammi con parametri Trasmissione dei parametri Sottoprogrammi di tipo espressione e di tipo comando. MODULO 1 Memoria Dinamica e Liste Concatenate U.D.1: La memoria dinamica e la sua gestione Le funzioni di allocazione e deallocazione dinamica Memoria statica vs. memoria dinamica. U.D.2: Strutture dati ricorsive Strutture dati dinamiche e ricorsive: la lista semplice concatenata Operazioni di base: costruzione, inserzione, estrazione, distruzione, visita. MODULO 2 Ricerca e Ordinamento U.D. 1: La misura dell efficienza degli algoritmi Nozioni di complessità computazionale Stima della complessità in spazio e in tempo Caso ottimo, pessimo, medio Complessità asintotica - Classi di complessità asintotiche
U.D. 2: Significato dell operazione di ricerca - Algoritmi di ricerca ingenui Algoritmi di ricerca sofisticati Stima dei costo computazionale della ricerca; U.D. 3: L ordinamento come operazione globale sui dati - Algoritmi di ordinamento ingenui Algoritmi di ordinamento sofisticati - Stima dei costo computazionale dell ordinamento. MODULO 3 Strutture dati notevoli U.D. 1: La pila Caratterizzazione astratta Caratterizzazione concreta: vettoriale e a lista. U.D. 2: La coda Caratterizzazione astratta Caratterizzazione concreta: vettoriale e a lista. MODULO 4 - Ricorsione U.D.1: Definizioni basate su relazioni di ricorrenza Funzioni matematiche e schemi ricorsivi Proprietà delle definizioni ricorsive Ricorsione sui dati Ricorsione sulle operazioni L espansione e la contrazione durante il processo di valutazione ricorsiva. Ricorsioni perverse: i numeri di Fibonacci. U.D.2: Implementazione della ricorsione: funzioni che si richiamano;- Funzioni di tipo espressione Funzioni di tipo comando Algoritmi spontaneamente ricorsivi Iterazione vs. ricorsione Da schema iterativo a schema ricorsivo. MODULO 5 Strutture dati non lineari (Alberi, Grafi, Tabelle Hash) U.D. 1: Nozione di albero Terminologia associata - Alberi con radice Alberi binari Alberi binari di ricerca Alberi AVL Algoritmi di visita per alberi binari Implementazione statica e dinamica Operazioni notevoli su alberi binari Applicazioni basate su alberi. U.D. 2: Nozione di grafo Terminologia associata Algoritmi di visita Implementazione statica e dinamica Algoritmi notevoli su grafi. U.D. 3: Tabelle hash Funzioni hash Il problema delle collisioni Metodi di concatenazione Doppio indirizzamento Valutazione comparativa dei costi computazionali Cenni sulle tecniche di hashing dinamico. MODULO 6 File U.D.1: Memorizzazione di dati permanenti La nozione di record - Il file come struttura dati dinamica File di testo File binari Accesso sequenziale e accesso diretto File di record ad accesso diretto Il file come array illimitato Algoritmi notevoli su file Salvataggio/ripristino di alberi binari mediante file - Salvataggio/ripristino di grafi mediante file.
MODULO 7 Programmazione ad Oggetti U.D. 1: Giustificazione del nuovo paradigma: Dalla programmazione imperativa a quella a oggetti - Caratterizzazione del paradigma: i principi I diagrammi UML - Le classi e gli oggetti Associazioni tra classi - Ereditarietà e gerarchie di classi. U.D. 2: Funzioni ed operatori sovraccarichi Polimorfismo Classi astratte - Overridding di funzioni - Eccezioni Concorrenza - Template di classi e di funzioni. MODULO 8 Linguaggio Java U.D. 1: - Java: fondamenti del linguaggio e struttura di un programma Input/Output Classi Membri della classe e membri dell'oggetto Tipi di dato primitivi Stringhe - Metodi di classe Metodi costruttori - Instanziazione di oggetti Interazione tra oggetti - Invocazione di metodo Passaggio di parametri Accesso agli attributi L'oggetto corrente: this. U.D. 2: - Array in Java Oggetti e riferimenti Array come parametri Metodi di classe e valori restitui Eccezioni predefinite Eccezioni programmate. U.D. 3: - Gestione dell'input/output predefinito Gestione dell'i/o da file di testo Serializzazione e persistenza degli oggetti. MODULO 9 Strutture Dati in Java U.D. 1: - Liste concatenate in Java. U.D. 2: - Pila e coda. U.D. 3: - Alberi. U.D. 4: - Grafi. U.D. 5: Tabelle hash. MODULO 10 Ereditarietà e polimorfismo in Java U.D. 1: - Classi derivate Overridding e overloading dei metodi ; U.D. 2: - Gerarchie di classi: up-custing e down-casting di oggetti; U.D. 3: - Classi astratte e interfacce; U.D. 4: - Polimorfismo e binding dinamico; U.D. 5: - Tipi parametrici e classi generiche in Java. MODULO 11 Applicazioni grafiche in Java U.D. 1: - La libreria AWT; U.D. 2: - L'ambiente NetBeans e la libreria Swing. MODULO 12 Applicazioni per Android
U.D. 1: - L interfaccia IDE Eclipse Creare un progetto con Eclipse U.D. 2: - Il sistema operativo Android Android ed Eclipse U.D. 3: - Struttura di una applicazione per Android Ciclo di vita di una Activity - I widget TAVOLA DI PROGRAMMAZIONE Sulla base dell esperienza pregressa si stima che il monte ore teorico a disposizione per lo svolgimento delle attività didattiche ammonti a complessive 190 ore di lezione: di queste è però necessario riservare una quota-parte da destinare alle attività previste dal Progetto di Alternanza Scuola-Lavoro (di seguito indicato come PASL che a partire da quest anno scolastico coinvolgerà anche le classi III dell Istituto) che potrebbe incidere sul totale sino ad un massimo del 30%. Poiché non è detto che questo limite sarà raggiunto e poiché le suddette attività non sono ancora state identificate a pieno titolo come curricolari, si ritiene di poter stimare sin da ora che la loro incidenza si aggirerà intorno al 10-15% del monte-ore complessivo ovvero comporterà una decurtazione (si noti il virgolettato) di al più 30 ore (10 ore nel trimestre e 20 nel pentamestre). Relativamente alla periodizzazione approvata in trimestre e pentamestre le ore di lezione saranno dunque ripartite nelle seguenti misure: TRIMESTRE (dal 18/9/14 sino al 23/12/14): 70 ( 10 per PASL) = 60 ore di lezione; PENTAMESTRE (dal 24/12/14 sino al 10/06/15): 120 ( 20 per PASL) = 100 ore di lezione. E secondo la scansione temporale presentata nella seguente tabella: Contenuti Modalità Strumenti Tempi (Tempi) MODULO 0 Recupero dei prerequisiti (Settembre Ottobre) MODULO 1 Memoria Dinamica e Liste Concatenate 12 ore 20 ore (-2 per PASL) (Ottobre Novembre) MODULO 2 Ricerca e Ordinamento (Febbraio Marzo) MODULO 3 Strutture Dati notevoli (Febbraio Marzo) 18 ore 10 ore
MODULO 4 Ricorsione (Ottobre Novembre) MODULO 5 Strutture Dati non lineari (Marzo) MODULO 6 File (Febbraio Marzo) MODULO 7 Programmazione a Oggetti (Novembre) MODULO 8 Il linguaggio Java (Novembre Aprile) MODULO 9 Strutture Dati in Java (Gennaio Febbraio) MODULO 10 Ereditarietà e polimorfismo in Java (Febbraio Marzo) MODULO 11 Applicazioni Grafiche in Java (Gennaio Aprile) MODULO 12 Applicazioni Android 10 ore (-3 per PASL) 18 ore 10 ore 10 ore 35 (-5 per PASL) 21 10 12 9 (Aprile - Maggio)
LABORATORIO Programmazione in C Definizione di prototipi di funzione e sviluppo di sottoprogrammi Risoluzione di problemi mediante liste concatenate Programmazione in Java Ambienti di sviluppo in Java Struttura del codice Package, classi e oggetti Operazioni di I/O Traduzione di strutture dati e/o algoritmi notevoli da C in Java Risoluzione di problemi su alberi Risoluzione di problemi su grafi Risoluzione di problemi su tabelle hash; Sviluppo di semplici applicazioni grafiche in Java; Sviluppo di semplici applicazioni in Java basate su file Sviluppo di semplici applicazioni per Android I Docenti Pierpaolo Damele Arnaldo Scarpa Iglesias, 17/11/2014