L.S. “M.Grigoletti” - PORDENONE PROGRAMMAZIONE di INFORMATICA per COMPETENZE Classe TERZA LICEO SCIENTIFICO - OPZIONE SCIENZE APPLICATE ore settimanali 2, ore annuali 66 Nella classe TERZA questa materia concorre allo sviluppo delle seguenti competenze / abilità: C1 Individuare le strategie appropriate per la soluzione di problemi C1.1 Risolvere problemi scomponendoli in problemi più piccoli C1.2 Generalizzare i problemi C1.3 Applicare l’induzione nella soluzione di problemi C1.4 Valutare l’efficienza di algoritmi risolutivi C2 Gestire ed organizzare dati e/o informazioni C2.1 Definire ed utilizzare idonee strutture dati C2.2 Effettuare ordinamenti e ricerche sui dati con opportuni algoritmi C2.3 Individuare e/o stabilire collegamenti e relazioni tra dati C2.4 Gestire in maniera ottimizzata la memoria per il salvataggio, il reperimento e l’elaborazione dei dati C2.5 Elaborare in modo automatizzato testi in formato elettronico C2.6 Gestire gli archivi elettronici C3 Utilizzare e produrre testi multimediali C3.1 Essere consapevole delle potenzialità delle tecnologie rispetto al contesto culturale e sociale in cui vengono applicate C3.2 Navigare in Internet C3.3 Progettare Ipertesti C3.4 Utilizzare i linguaggi del Web HTML e CSS C3.5 Scegliere i formati opportuni per i contenuti multimediali C3.6 Produrre testi di vario tipo in relazione ai differenti scopi comunicativi UDA Nr. ORE COMPE TENZE 9 C1 8 C1 12 C1, C2 10 C2 UDA Nr.1 Scomposiz. in sottoprogrammi UDA Nr.2 Ricorsione UDA Nr.3 Algoritmi di Ordinamento / Ricerca e Complessità Computaziona le UDA Nr.4 ABILITA’ CONOSCENZE [C1.1] Risolvere problemi scomponendoli in problemi più piccoli. [C1.2] Generalizzare i problemi □ Traccia di programmi con funzioni □ Scomposizione del problema in sottoproblemi □ Prototipo e sviluppo di una funzione □ Definizione di funzione ricorsiva □ Costruzione di semplici funzioni ricorsive □ Traccia di funzioni ricorsive; Il ruolo dello Stack di memoria □ Confronto tra iterazione e ricorsione [C1.1] Risolvere problemi scomponendoli in problemi più piccoli [C1.2] Generalizzare i problemi [C1.3] Applicare l’induzione nella soluzione di problemi [C1.4] Valutare l’efficienza di algoritmi risolutivi [C1.1] Risolvere problemi scomponendoli in problemi più piccoli [C1.2] Generalizzare i problemi [C1.3] Applicare l’induzione nella soluzione di problemi [C1.4] Valutare l’efficienza di algoritmi risolutivi [C2.1] Definire ed utilizzare idonee strutture dati [C2.2] Effettuare ordinamenti e ricerche sui dati con opportuni algoritmi [C2.3] Individuare e/o stabilire collegamenti e relazioni tra dati [C2.3] Individuare e/o stabilire collegamenti e relazioni tra dati [C2.4] Gestire in maniera ottimizzata □ Algoritmi di ordinamento iterativi: Selection Sort e Bubble Sort □ Algoritmi di ricerca iterativi: ricerca lineare e ricerca binaria □ Algoritmi di ordinamento ricorsivi: Quick Sort □ Algoritmi di ricerca ricorsivi: ricerca binaria □ Confronto tra implementazione ricorsiva e iterativa □ Concetto di Complessità Computazionale di un algoritmo □ Calcolo della complessità per gli algoritmi di Ordinamento e Ricerca; Classi di Complessità □ Il concetto di puntatore □ Uso dei puntatori: operatori & e * □ Tipi di puntatore e conversioni di tipo L.S. “M.Grigoletti” - PORDENONE Puntatori UDA Nr.5 la memoria per il salvataggio, il reperimento e l’elaborazione dei dati 21 C1, C2 Stringhe, Record, Tabelle e File UDA Nr.7 6 Linguaggi del Web: HTML (opzionale) TOTALE ORE 66 C3 [C1.1] Risolvere problemi scomponendoli in problemi più piccoli [C1.2] Generalizzare i problemi [C1.3] Applicare l’induzione nella soluzione di problemi [C1.4] Valutare l’efficienza di algoritmi risolutivi [C2.1] Definire ed utilizzare idonee strutture dati [C2.2] Effettuare ordinamenti e ricerche sui dati con opportuni algoritmi [C2.3] Individuare e/o stabilire collegamenti e relazioni tra dati [C2.4] Gestire in maniera ottimizzata la memoria per il salvataggio, il reperimento e l’elaborazione dei dati [C2.5] Elaborare in modo automatizzato testi in formato elettronico [C2.6] Gestire gli archivi elettronici [C3.1] Essere consapevole delle potenzialità delle tecnologie rispetto al contesto culturale e sociale in cui vengono applicate [C3.2] Navigare in Internet [C3.3] Progettare Ipertesti [C3.4] Utilizzare il linguaggio del Web HTML (casting) □ Puntatori a puntatori e vettori di puntatori □ Aritmetica dei puntatori □ Legami tra vettori e puntatori in C/C++ □ Cenni alla gestione dinamica della memoria □ Cenni alle strutture dati dinamiche: liste concatenate e alberi □ Le stringhe in C: il tipo di dato char* □ Funzioni della libreria <String.h>: strlen( ), strcpy( ), strcat( ), strcmp( ). □ Record: dichiarazioni di record (struct) semplici o annidate □ Accesso ai campi di una variabile record: operatore “.” □ Le tabelle, ovvero i vettori di Record □ Esempi di programmi su record e tabelle: gestione di archivio persone □ I file in C: il tipo FILE* □ Creazione / apertura / chiusura di un file in C: funzioni fopen( ) ed fclose( ) □ Lettura / scrittura in file di testo in C: funzioni; fscanf( ), fprintf( ) e feof( ) □ Gli archivi Elettronici: cenni all’inserimento / modifica / cancellazione di record. □ Concetti fondamentali di Internet: Client / Server web, indirizzi IP, DNS, protocollo □ Caratteristiche del linguaggio HTML □ Creazione di semplici pagine web in HTML: testo e formattazione base,