tecnologie e progettazione di sistemi informatici

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