Da quest’anno, secondo le linee guida del MIUR per la riforma degli istituti tecnici, la tipologia della seconda prova di Informatica prevede l’introduzione di una seconda parte relativa a quesiti. Il MIUR, soltanto il 15 aprile 2015 e quindi appena due mesi prima dell’inizio dell’esame di stato, ha pubblicato un solo esempio di seconda prova di Informatica. Tale esempio di seconda prova evidenzia più di una problematica e più precisamente: • la prima parte è strutturata allo stesso modo delle prove degli anni precedenti e cioè progettazione concettuale, logica, definizione della struttura delle tabelle, query (piuttosto complesse nella proposta del MIUR) e parte web e anche il livello di complessità non è inferiore alle prove degli anni precedenti • il tempo a disposizione è sempre di sei ore ma in tale tempo devono essere risolti anche i quesiti • negli anni precedenti svolgere completamente e correttamente un problema analogo a quello proposto nella prima parte del testo del MIUR avrebbe consentito agli studenti di conseguire un punteggio di 15/15 mentre ora, per arrivare al punteggio massimo, è necessario rispondere correttamente e nello stesso tempo anche ai quesiti • nella seconda parte del testo del MIUR si richiede di rispondere ad almeno due quesiti; questo cosa significa? Rispondere correttamente a due quesiti implica una valutazione solo sufficiente e per raggiungere il punteggio massimo lo studente deve rispondere a tutti i quesiti? Oppure significa che rispondere correttamente a due quesiti corrispondere al conseguimento del punteggio massimo? E ancora, se la richiesta è di rispondere a due quesiti per avere il massimo, come considerare uno studente che copia in bella la risposta a tutti i quesiti? Si considerano solo quelli corretti? Ritengo che dovrà essere il commissario esterno a dare delle indicazioni chiare agli studenti dopo avere preso visione del testo della prova che verrà arriverà durante l’esame. Criteri adottati per la valutazione: Possesso delle nozioni. Capacità di organizzazione del lavoro o del discorso. Capacità di risoluzione di esercizi e di problemi. Competenza espressiva e proprietà lessicale. Capacità di approfondimento della materia e originalità di elaborazione. Capacità di analisi e risoluzione di problemi Contenuti TEORIA E PROGETTAZIONE DELLE BASI DI DATI CONCETTI GENERALI SULLE BASI DI DATI Dati e loro significato: intensione ed estensione Basi di dati (DB) e sistemi di gestione delle basi di dati (DBMS) Livelli di astrazione, classi di utenza e linguaggi di un DBMS LA MODELLAZIONE DEI DATI NELLA PROGETTAZIONE CONCETTUALE: IL MODELLO E/A La progettazione concettuale: i diagrammi entità-associazioni La modellazione dei dati: entità, tipi di entità, attributi e chiavi Le associazioni fra entità: proprietà e tipi di associazioni I vincoli di integrità Gerarchie di entità (ISA) LA PROGETTAZIONE LOGICA: IL MODELLO RELAZIONALE Struttura dei dati: le relazioni e gli schemi di relazione, i domini, le chiavi, i vincoli di integrità Traduzione dei dati dal modello E/A verso il modello relazionale (mapping): rappresentazione di entità, di attributi composti e multipli, rappresentazione di associazioni 1:N ( e 1:1), N:M e di gerarchie ISA Operazioni relazionali: unione, intersezione, differenza, selezione, proiezione, prodotto cartesiano, join, left e right join. Problema della ridondanza e anomalie. La normalizzazione: forme normali (1FN, 2FN, 3FN) e normalizzazione LINGUAGGI DELLE BASI DI DATI E PER LO SVILUPPO DI APPLICAZIONI WEB LINGUAGGIO SQL Caratteristiche generali e tipi di dati Istruzioni per la definizione dello schema relazionale (DDL): CREATE, DROP, ALTER Operazioni relazionali in SQL: l’istruzione SELECT, funzioni di aggregazione (min, max, sum, avg, count), ordinamenti, raggruppamenti, condizioni di ricerca (LIKE, IN, NOT IN) Query annidate Istruzioni per la manipolazione dei dati (DML): INSERT, UPDATE, DELETE istruzioni per la sicurezza (DCL): GRANT e REVOKE Le viste in SQL Funzioni per gestire data ed ora LINGUAGGIO HTML5 Elementi di base e tabelle Form per l’interazione con i programmi php attraverso un browser Link parametrizzati Elementi di una form: text, password, date, textarea, tendine, bottoni radio, checkbox, campi hidden, upload di file PROGRAMMAZIONE LATO SERVER: LINGUAGGIO PHP Confronto con il linguaggio C Caratteristiche generali e tipi di dati variabili, funzioni per il controllo dei tipi, funzioni per la gestione di stringhe e di array sintassi delle istruzioni array numerici e associativi uni e multidimensionali funzioni per l’elaborazione di array funzioni di I/O per l’accesso ai file ed alle directory persistenza dei dati:, stringhe di query, variabili di sessione Funzioni per la gestione di stringhe Funzioni per l’invio di mail, per criptare le password. html e php: array $_POST, $_GET, $_REQUEST Gestione delle sessioni per la persistenza delle informazioni: array $_SESSION PHP E I DATABASE Funzioni per la connessione ad un server MySQL e per l’esecuzione di query (mysql_connect, mysql_close, mysql_query, mysql_fetch_array, mysql_num_rows, etc.) Realizzazione di applicazioni php per l’accesso a database MySQL mediante un web server Apache su server Linux