Istituto d’Istruzione Secondaria Superiore Carlo Emilio Gadda Presidenza e Segreteria: v. Nazionale 6 43045 Fornovo di Taro (PR) – Tel. 0525 400229 Fax 0525 39300 E-mail: [email protected] Sito web: www.iissgadda.it PEC: [email protected] Sede staccata: v. XXV Aprile 8 43013 Langhirano (PR) – Tel. 0521 857566 Fax 0521 852427 C.F. 92180110345 - Cod. IT. PRIS00800P PIANO DI LAVORO ANNO SCOLASTICO: I.I.S.S. “C. E. GADDA” Sede di : DISCIPLINA : 4aA 2017 Langhirano Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazioni DOCENTE : CLASSE: 2016 / Aucello Michele INDIRIZZO: Informatica e Telecomunicazioni LIVELLI DI PARTENZA LIVELLI DI PARTENZA RILEVATI La rilevazione avviene attraverso le prove strutturate in entrata così come definite in ciascun dipartimento di riferimento. Livello Insufficiente Sufficiente (6) Discreto (7) Buono (8) Ottimo (9-10) N° Totale studenti Numero studenti ATTIVITA' DI RECUPERO A. Curricolare(in itinere): B. Corsi di recupero pomeridiani: C. Sportelli: D. Studio individuale a casa: APPROFONDIMENTI PREVISTI PER GLI ALUNNI PIÙ MOTIVATI Saranno proposti approfondimenti teorici e pratici delle principali tematiche sviluppate nel corso dell’anno scolastico OBIETTIVI FORMATIVI DELLA DISCIPLINA/ FINALITA’ Le linee guida ministeriali per il secondo biennio ed il quinto anno prevedono che la disciplina Tecnologie e progettazione di sistemi informatici e di telecomunicazioni concorra al conseguimento dello sviluppo delle seguenti competenze: sviluppare applicazioni informatiche per reti locali o servizi a distanza; scegliere dispositivi e strumenti in base alle loro caratteristiche funzionali; gestire progetti secondo le procedure e gli standard previsti dai sistemi aziendali di gestione della qualità e della sicurezza gestire processi produttivi correlati a funzioni aziendali; configurare, installare e gestire sistemi di elaborazione dati e reti; redigere relazioni tecniche e documentare le attività individuali e di gruppo relative a situazioni professionali L’effettivo conseguimento di queste competenze è imprescindibile dello svolgimento di una vera attività di laboratorio focalizzata su una pratica continua di problem-solving e/o di project-work. È di conseguenza necessario individuare gli strumenti e gli ambienti in modo che, oltre ad essere presenti nel laboratorio scolastico utilizzato per la disciplina, risultino utilizzabili dagli studenti anche per il lavoro a casa. La seguente è una possibile selezione basata sui sistemi operativi Microsoft Windows e/o Linux 1: l’emulatore Cygwin, in modo da avere a disposizione “sotto Windows” un emulatore di Linux per eseguire una parte dei programmi concorrenti, in particolare quelli che eseguono la fork (versione gratuita scaricabile dalla rete) applicazione Visual Paradigm for UML per la realizzazione di diagrammi UML in ambiente Windows o Linux (ne esiste una versione “Community” gratuita e liberamente scaricabile dalla rete) ambiente integrato di sviluppo NetBeans per la realizzazione e la verifica di programmi nei linguaggi Java e C/C++ (si tratta di un prodotto professionale, ma gratuito e liberamente scaricabile dalla rete nelle versioni per Windows o per Linux) applicazione Doxygen per la documentazione automatica del codice sorgente (gratuita e liberamente scaricabile dalla rete nelle versioni per Windows o per Linux) interfaccia grafica Tortoise per sistema operativo Windows del sistema di gestione delle revisioni del codice sorgente SVN (gratuita e liberamente scaricabile dalla rete) ambiente integrato di sviluppo Eclipse preconfigurato per lo sviluppo di applicazioni in linguaggio Java per piattaforma Android (gratuito e liberamente scaricabile dalla rete per Windows o per Linux) PROGRAMMAZIONE ANNUALE PER COMPETENZE Macroargomenti/ Moduli /U.D. Processi sequenziali e paralleli Competenze Descrivere l’interazione processi- risorse col grafo di Holt Realizzare e semplificare il grafo delle precedenze Scrivere programmi concorrenti utilizzando l’istruzione fork-join Scrivere programmi concorrenti utilizzando l’istruzione cobegincoend Eseguire un programma C in Cygwin Scrivere programmi multiprocessi in linguaggio C Comunicazione e sincronizzazione Individuare le tipologie di errori nei processi paralleli Conoscenze Abilità/capacità Livello minimo di conoscenze e abilità Conoscere i modelli di elaborazioni dei processi Installare e configurare il Software Cigwin Installare e configurare il Software Cigwin Conoscere il ciclo di vita dei processi Compilare i programmi C con il compilatore GCC Compilare i programmi C con il compilatore GCC Acquisire il concetto di risorsa condivisa Utilizzare in thread in linguaggio C Utilizzare in thread in linguaggio C Distinguere le richieste e le modalità di accesso alle risorse Utilizzare in thread in linguaggio Java Tempi di svolgimento Ottobre Novembre Dicembre Gennaio Apprendere l’utilizzo del grafo di Holt per descrivere processi e risorse Conoscere la differenza tra processi e thread Acquisire il concetto di programmazione concorrente Acquisire il concetto di interazione tra processi Conoscere le caratteristiche di un linguaggio concorrente Conoscere il modello ad ambiente globale e locale Risolvere le situazioni di starvation Risolvere le situazioni di starvation Comprendere l’esigenza di Risolvere le situazioni di Risolvere le situazioni di Febbraio Marzo Aprile Maggio Definire e utilizzare i semafori di basso livello e spin lock() Utilizzare gli strumenti di sincronizzazione per thread in C Utilizzare le condition variable in C Implementare i monitor in C Utilizzare gli strumenti di sincronizzazione per thread in C Implementare i monitor in Java sincronizzazione deadlock deadlock Comprendere il concetto di indivisibilità di una primitiva Risolvere i problemi produttore/consumatore in C Risolvere i problemi produttore/consumatore in C Risolvere il problema dei filosofi in C Risolvere i problemi produttore/consumatore in Java Sapere il funzionamento dei semafori di Dijkstra Avere il concetto di regione critica e muta esclusione Saper la differenza tra interleaving e overlapping Compredere le condizioni di Bernstein Avere il concetto di starvation e di deadlock Comprendere le proprietà di safety, di fairness e di liveness Risolvere i problemi produttore/consumatore in Java Risolvere il problema dei filosofi con il linguaggio in Java ATTIVITÀ O PROGETTI INTERDISCIPLINARI Argomenti trattati in collaborazione e/o integrazione con il corso d’informatica: Diagrammi delle classi Concorrenza in Java Diagrammi delle classi con Aggregazione e Composizione Diagrammi delle classi con Ereditarietà METODI DIDATTICI (didattica laboratoriale, role playing, cooperative learning, tutoring, innova didattica, ecc.) Dialogo costante Lezione frontale in classe e/o in laboratorio Esercitazioni guidate e non in classe e/o laboratorio Lavoro individuale e a piccoli gruppi Il problem solving per sviluppare capacità logiche Studio e svolgimento di esercizi a casa Assegnazione di compiti con stesura di relazioni Recupero periodico STRUMENTI DI LAVORO - Libri di testo e loro uso: Autore: Paolo Camagni, Riccardo Nikolassy Titolo: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Parti/capitoli che si prevede di utilizzare: Capitolo 1 e 2 - Ulteriore materiale che si intende utilizzare Videoproiettore Manuali di programmazione Schede di laboratorio Fotocopie di materiale didattico vario (articoli di riviste, appunti, schemi, mappe concettuali, ecc.) 6 STRUMENTI DI VERIFICA E DI VALUTAZIONE Indicare le tipologie e i tempi di somministrazione 1. Prove scritte 2. Prove orali 3. Prove pratiche Per il primo trimestre ogni studente sarà sottoposto mediamente a due prove di verifica di tipologia varia. Per il secondo pentamestre ogni studente sarà sottoposto mediamente a quattro prove di verifica di tipologia varia. 7