Istituto di Istruzione Superiore “VINCENZO FARDELLA” Liceo Scientifico – opzione scienze applicate anno scolastico 2016-2017 DIPARTIMENTO DI MATEMATICA PROGRAMMAZIONE DI INFORMATICA Secondo le indicazioni nazionali l’insegnamento di informatica nell’insegnamento liceale deve proporsi diversi obiettivi: far comprendere i principali fondamenti teorici delle scienze dell’informazione, far acquisire la padronanza di strumenti dell’informatica e l’utilizzo di tali strumenti per la soluzione di problemi sia pur significativi in generale, ma in particolare collegati allo studio delle altre discipline, far acquisire la consapevolezza dei vantaggi ed al tempo stesso dei limiti dell’uso degli strumenti e dei metodi informatici e delle conseguenze sociali e culturali di tale uso. Questi obiettivi si riferiscono ad aspetti fortemente connessi fra di loro, che vanno quindi trattati in modo integrato, mantenendo paritario il rapporto fra teoria e pratica ed integrando costantemente i due aspetti, anche alla luce dei limiti imposti dal tempo a disposizione. Al termine del percorso liceale lo studente saprà padroneggiare i più comuni strumenti software per il calcolo, la ricerca e la comunicazione in rete, saprà acquisire ed organizzare dati applicandoli soprattutto nell'indagine scientifica, sapendo scegliere di volta in volta lo strumento più adatto, avrà una sufficiente padronanza di uno o più linguaggi per sviluppare applicazioni semplici, ma significative, di calcolo in ambito scientifico e comprenderà la struttura logico-funzionale e la struttura fisica del sistema di elaborazione, del software e di reti locali. Si propongono le seguenti finalità (obiettivi trasversali ) per l’insegnamento liceale di informatica: 1. arricchire il lessico, acquisire e progressivamente utilizzare la terminologia specifica dei diversi settori culturali; 2. identificare gli elementi più rilevanti di un testo, fenomeno o evento, distinguendoli da quelli accessori; 3. produrre interventi orali e testi scritti pertinenti, corretti e logicamente coerenti secondo i codici specifici; 4. tradurre e trasferire informazioni da un codice a un altro (es. da forma verbale a forma simbolica e viceversa). 5. acquisire capacità di scelta; 6. acquisire un metodo di lavoro produttivo. 7. potenziare le capacità di analisi; Nel corso del primo biennio si richiede in particolare che gli studenti raggiungano le seguenti competenze disciplinari: a) comprendere i fondamenti teorici basilari delle scienze dell’Informazione; b) acquisire la padronanza degli strumenti informatici proposti; c) saper utilizzare tali strumenti per la soluzione di problemi, anche connessi allo studio di altre discipline; d) acquisire la consapevolezza dei vantaggi e dei limiti che il ricorso agli strumenti informatici presenta; In particolare, nel corso del biennio, si richiede il raggiungimento dei seguenti obiettivi disciplinari minimi: a) Conoscere le caratteristiche dei principali componenti hardware di un computer. b) Conoscere cos’è ed a cosa serve un sistema operativo e saper orientarsi in esso (con particolare riferimento a Windows) per operare con icone, finestre e menù e per gestire cartelle e file. c) Conoscere le caratteristiche e la relativa operatività di base dell’ambiente di lavoro Excel. d) Conoscere la definizione di algoritmo e le caratteristiche fondamentali dei diagrammi a blocchi. e) Saper analizzare e formalizzare semplici problemi per individuare il percorso risolutivo di un problema assegnato e saperlo tradurre in un diagramma a blocchi f) Saper tradurre un algoritmo in un linguaggio di programmazione. g) Conoscere e saper utilizzare le variabili, i tipi di dati e le strutture di base della programmazione di semplici problemi. Contenuti previsti dalle indicazioni nazionali per il PRIMO BIENNIO Nel primo biennio verranno usati gli strumenti di lavoro più comuni del computer insieme ai concetti di base ad essi connessi. Verranno introdotte le caratteristiche architetturali di un computer: i concetti di hardware e software, una introduzione alla codifica binaria presenta i codici ASCII e Unicode, gli elementi funzionali della macchina di Von Neumann: CPU, memoria, dischi, bus e le principali periferiche. (AC) Verrà spiegato il concetto di sistema operativo, le sue funzionalità di base e le caratteristiche dei sistemi operativi più comuni. Verrà introdotto il concetto di processo come programma in esecuzione, illustrato il meccanismo base della gestione della memoria e le principali funzionalità dei file system. (SO) Verranno introdotti gli elementi costitutivi di un documento elettronico e i principali strumenti di produzione. Occorre partire da quanto gli studenti hanno già acquisito nella scuola di base per far loro raggiungere la padronanza di tali strumenti, con particolare attenzione al foglio elettronico. (DE) Verranno introdotti la struttura, i servizi di Internet e le reti. Insieme alle altre discipline si condurranno gli studenti a un uso efficace della comunicazione e della ricerca di informazioni, e alla consapevolezza delle problematiche e delle regole di tale uso. Verranno introdotti i principi alla base dei linguaggi di programmazione, illustrate le principali tipologie di linguaggi e il concetto di algoritmo. Verrà sviluppata la capacità di implementare un algoritmo in pseudo-codice o in un particolare linguaggio di programmazione, di cui si introdurrà la sintassi.(AL) In particolare, i contenuti della classe prima saranno articolati come segue: CONTENUTI Architettura del computer Il Sistema Operativo La codifica dell’informazione Elaborazione digitale dei documenti: Word, Excel, Power Point CONOSCENZE COMPETENZE Struttura logico-funzionale di un computer (macchina di Von Neumann) Caratteristiche dei diversi componenti di un computer Terminologia tecnica relativa ai componenti architetturali Peculiarità dei vari componenti di un computer Saper riconoscere le caratteristiche tecniche di un computer Saper utilizzare le periferiche di I/O disponibili Saper utilizzare correttamente i termini tecnici relativi ai componenti architetturali Classificazione del software Principali funzioni di un sistema Operativo Sistemi di numerazione posizionali Sistema binario, ottale, esadecimale Conversioni tra basi diverse operazioni in sistemi di numerazione in base diversa da dieci Funzionalità specifiche della suite Office Documenti di testo formattati e generici Tecniche di gestione e formattazione di documenti testuali e fogli di calcolo Formule e funzioni per impostare calcoli Tecniche di realizzazione di presentazioni interattive dinamiche ed efficaci Saper creare e gestire file e cartelle con Windows Saper operare con numeri espressi in basi diverse da dieci, in particolare con i numeri binari Saper convertire numeri decimali in basi diverse e viceversa Saper impostare documenti di testo formattando adeguatamente testo e paragrafi Saper disporre oggetti diversi all’interno di documenti testuali Saper realizzare fogli di calcolo usando formule e funzioni Realizzare grafici su dati relativi a fogli di calcolo Realizzare presentazioni interattive dinamiche I contenuti della classe seconda saranno articolati come segue: CONTENUTI Problemi ed algoritmi Le strutture di controllo Trasmissione dei dati e reti di comunicazione Internet: una risorsa universale CONOSCENZE COMPETENZE Problemi e tecniche di risoluzione Azioni e processi Istruzioni e ambienti di valutazione Tipi di dati e astrazione sui dati Comprendere i procedimenti algoritmici Algebra di Boole Saper rappresentare algoritmi Saper organizzare algoritmi che comprendono istruzioni di lettura, scrittura e assegnazione. Saper scrivere programmi che traducono l’algoritmo in linguaggio di programmazione. Saper individuare le strutture di controllo più idonee a risolvere un determinato problema. Saper codificare programmi che includono le strutture condizionali. Saper testare algoritmi creando insiemi significativi di casi prova. Saper individuare il tipo di ciclo più adatto a risolvere un determinato problema. Saper trasformare un ciclo precondizionale in uno postcondizionale. Saper codificare programmi che includono le strutture iterative. Sapere comprendere la valenza di una rete di computer e saper riconoscere i vari elementi di cui può essere composta. Saper individuare i vari dispositivi di una rete Sapere che cos’è Internet e quali sono e che cosa offrono i principali servizi offerti dalla rete. Saper essere in grado di utilizzare criticamente e consapevolmente strumenti informatici e telematici nelle attività di studio e di approfondimento. Le strutture condizionali semplici. Le basi della logica simbolica e del calcolo preposizionale. Le strutture condizionali complesse. Le strutture iterative con controllo in testa. Le strutture iterative con controllo in coda. Le strutture iterative con numero prefissato di cicli. Conoscere le caratteristiche delle principali categorie di reti di computer Conoscere le principali caratteristiche delle apparecchiature delle reti Conoscere le modalità di funzionamento del browser e dei motori di ricerca. Conoscere i rischi e i limiti nell’uso della rete, con particolare riferimento a sicurezza e privacy I contenuti della classe terza saranno articolati come segue: CONTENUTI CONOSCENZE Le basi del linguaggio di programmazione C/C++ Caratteristiche dei linguaggi C/C++ La struttura di un programma in C/C++ Variabili, costanti, espressioni, operandi e operatori Le istruzioni Strutture di controllo - Sequenza - Selezione - Iterazione Le funzioni Top – down Scomposizione in sottoprogrammi Le strutture di dati Strutture di dati omogenee ed eterogenee; Strutture semplici ad una dimensione e a due dimensioni I fondamenti della programmazione orientata agli oggetti Ereditarietà e poliformismo App inventor (ambiente di sviluppo di applicazioni per S.O. Android) Costruire classi di oggetti Implementare funzionalità degli oggetti Costruire e gestire classi ereditate Costruire e gestire classi composte Creare collegamenti tra classi Caratteristiche dell’ambiente app inventor Realizzare schermate per dispositivi mobili COMPETENZE Scrivere un programma in C/C++ L’alfabeto del linguaggio Come dichiarare variabili e costanti Uso degli operatori utilizzati nel linguaggio Come si codificano le strutture di controllo in C/C++ Realizzare programmi validi ed efficaci Utilizzare i diversi costrutti iterativi Scomposizione in sottoprogrammi Passaggio di parametri Scrivere algoritmi che fanno uso dei sottoprogrammi Come si gestiscono i vettori Le principali operazioni sui vettori Come si gestiscono le matrici Come si gestiscono i record e gli array di record Costruire classi di oggetti Implementare funzionalità degli oggetti Gestire l’interfaccia con e fra gli oggetti Realizzare programmi con l’uso degli oggetti Costruire e gestire classi ereditate Costruire e gestire classi composte Creare collegamenti tra classi Programmare utilizzando un ambiente visuale Creare semplici App CONTENUTI MINIMI PER CLASSE E PER QUADRIMESTRE CLASSI PRIME CONTENUTI MINIMI PRIMO QUADRIMESTRE IL SISTEMA COMPUTER Architettura del computer Il computer; hardware e software; Il case e la scheda madre; l’unità centrale di elaborazione (CPU); La memoria centrale; La memoria RAM; La memoria ROM; La memoria cache; i Bus; la memoria di massa; La memoria di massa: i dischi magnetici; La memoria di massa:i dispositivi rimovibili; La memoria di massa:i dischi ottici; Le periferiche di input;Le periferiche di output; Le periferiche di I/O; le schede di I/O: le porte; i tipi di computer. Il sistema operativo L’avvio del computer il bootstrap. Il desktop. Il menu Start. La guida in linea. Le finestre. La barra delle applicazioni. Lavoriamo con le finestre. I file. Il sistema di archiviazione. Il Pannello di controllo. Personalizzare il desktop. Ubuntu CONTENUTI MINIMI SECONDO QUADRIMESTRE La codifica dell’informazione Dato e informazione; il codice; codifica e decodifica dell’informazione; i sistemi di numerazione;i sistemi addizionali; i sistemi posizionali; il sistema di numerazione decimale; il sistema di numerazione binario; conversione da binario a decimale;conversione da decimale a binario. Pacchetto Office SCRIVERE CON MICROSOFT WORD Dalla macchina per scrivere al word processor. Microsoft Word. CALCOLARE CON MICROSOFT EXCEL Che cos’è un foglio elettronico. Microsoft Excel. POWERPOINT: COME COSTRUIRE UNO SLIDESHOW Che cos’è PowerPoint. Microsoft PowerPoint CLASSI SECONDE CONTENUTI MINIMI PRIMO QUADRIMESTRE Le basi della programmazione Problemi e algoritmi Descrizione dei procedimenti risolutivi; azioni e istruzioni; l’algoritmo; Rappresentazione degli algoritmi, i diagrammi a blocchi; Variabili e costanti; I tipi di dati; gli operatori aritmetici, relazionali e logici; la valutazione delle espressioni; Le istruzioni di un algoritmo. LE STRUTTURE DI CONTROLLO La programmazione. La programmazione strutturata. Il costrutto sequenza. Il costrutto selezione. L’indentazione. Il costrutto selezione multipla. Algebra booleana e logica. Iterazione = potenza di calcolo. Totalizzatori e contatori. Costrutto iterativo precondizionale. Il costrutto iterativo postcondizionale. Costrutto postcondizinale e precondizionale a confronto. I costrutti iterativi derivati CONTENUTI MINIMI SECONDO QUADRIMESTRE TRASMISSIONE DEI DATI E RETI DI COMUNICAZIONE La comunicazione. Gli elementi della comunicazione. Reti di computer. Perché collegare un computer in rete. Tipi di rete. Segnali analogici e digitali. Mezzi trasmissivi. Reti analogiche e reti digitali. Banda larga. Tipi di collegamento. Le topologie di rete. Le apparecchiature per creare una semplice LAN. L’ipertesto. Gli svantaggi degli ipertesti. I media. Multimedia e ipermedia. INTERNET: UNA RISORSA UNIVERSALE Le origini di Internet. Il WWW e la navigazione ipermediale. I browser. Il W3C. Il cyberspazio. Gli indirizzi IP. I pacchetti IP. Architettura client-server. Domini e nomi logici. La connessione a Internet. Modalità di collegamenti attraverso la linea telefonica. I provider. Internet computing mobile. Internet attraverso LAN e WAN. Il World Wide Web. La pubblicazione di pagine Web. URL di una risorsa. La ricerca di dati e informazioni. La posta elettronica. Due chiacchiere in Rete: la chat. Che cos’è un feed RSS. Il commercio elettronico. CLASSI TERZE CONTENUTI MINIMI PRIMO QUADRIMESTRE PROGRAMMAZIONE IN C/C++ Basi del linguaggio. Il linguaggio C e la sua evoluzione . C++. Dal codice sorgente all’eseguibile; la struttura di un programma; i commenti, le variabili e le costanti; espressioni, operandi e operatori; gestione dell’Input e dell’output in C; le sequenze di escape; le istruzioni di input / output in C++, gli operatori. Le istruzioni di selezione e di iterazione; sottoalgoritmi e sottoprogrammi; tipologie di sottoprogrammi, le procedure, ambiente locale e ambiente globale; i parametri; il passaggio dei parametri per valore e per indirizzo; le funzioni. I vettori; tipi e dichiarazione di vettori ; caricamento, ordinamento e ricerca di elementi in un vettore; operazioni con le stringhe; matrici, record. CONTENUTI MINIMI SECONDO QUADRIMESTRE METODOLOGIE DI PROGRAMMAZIONE Oggetti, classi di oggetti; definire una classe; creare gli oggetti; comunicazione ed interazione tra oggetti; definire le classi; i metodi in C++; information hiding e incapsulamento; ereditarietà e poliformismo. App inventor : installazione, interfaccia, connessione, impaginazione, i blocchi. Sviluppo di semplici app. METODOLOGIA Nell’affrontare i contenuti previsti dalle aree tematiche, si potranno alternare fasi più teoriche con lezioni frontali in cui il docente fornirà le conoscenze e le strumentazioni di base per sviluppare le competenze degli alunni e fasi pratiche con lezioni da svolgersi in laboratorio di informatica per far acquisire ai discenti le relative competenze pratiche ed anche una certa autonomia personale di lavoro. In laboratorio, gli alunni potranno lavorare in piccoli gruppi (2-3 persone) ed avranno in tal modo la possibilità di confrontarsi e di collaborare nella realizzazione di un progetto concreto. VERIFICHE E VALUTAZIONI Le verifiche, e la conseguente valutazione, hanno la principale funzione di determinare il raggiungimento degli obiettivi prefissati e di guidare lo studente negli opportuni aggiustamenti; assumono altresì la funzione di testare l'efficacia del metodo didattico. Sono previste diverse tipologie di verifiche, sia a carattere formativo che sommativo, che varieranno a seconda dei contenuti della programmazione: · Prove orali (interventi, interrogazioni, relazioni, discussioni guidate); · Prove scritte (prove strutturate/semistrutturate/aperte, relazioni, risoluzione di problemi); La valutazione avverrà in conformità con quanto stabilito dal Collegio Docenti, dai Consigli di Classe e in conformità alle griglie stabilite in sede dipartimentale. Per quanto riguarda le valutazioni sommative, in modo particolare per quelle di fine periodo, si terrà conto inoltre dei progressi rispetto al livello di partenza degli allievi, dell’impegno e della partecipazione alle attività proposte, della continuità, del progressivo conseguimento di un efficace metodo di studio e di lavoro. Trapani 07/09/2016 Prof. Giuseppe Spezia Prof. Giuseppe Scibetta Prof. Francesco Galia