Intervento didattico:

Documenti analoghi
Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

APPENDICE 4 AL CAPITOLATO TECNICO

ARCHITECTING AND DESIGNING J2EE APPLICATIONS

Corso Programmazione Java Avanzato

PIANO DI LAVORO ANNO SCOLASTICO 2016/2017. I.I.S.S. C. E. GADDA Sede di Langhirano MATERIA DI INSEGNAMENTO TECNOLOGIE E PROGETTAZIONE DI

PRIMO MODULO. DURATA: 80 ore CONTENUTI

Ingegneria del Software L-A

CATALOGO DI HEVA MANAGEMENT ACCREDITATO DA FONDAZIONE IDI

Ore settimanali di lezione: 3 h di cui 2 in compresenza con l insegnante di Lab. di Informatica prof.ssa E.De Gasperi

SISTEMI OPERATIVI, RETI, INTERNET

PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO. Liceo Scientifico opzione Scienze Applicate

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

PROGRAMMAZIONE. INFORMATICA SECONDO BIENNIO Opzione Scienze Applicate

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO

Corso Web Master. E' richiesta una padronanza dell'utilizzo del computer ed esperienza di navigazione su Internet.

OBIETTIVI DELL APPRENDIMENTO (del secondo biennio)

UX-PM level 1: Adopting UX

ICT-Progetti Offerta formativa. Catalogo corsi 2017 per i privati

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Progettista di applicazioni web, multimediali e mobile

UFFICIO TECNICO E ANALISI DI MERCATO- Settore I Informatica e Settore II Telecomunicazioni. Lotto 1 Appendice 1 Profili Professionali

Programma Master Programmatore Java

Project Management Newsletter

INGEGNERIA DEL SOFTWARE

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Basi di Dati Concetti Introduttivi

Le metodologie utilizzate saranno interattive e affiancate dalla realizzazione di project work utili a rendere concrete le lezioni teoriche.

Corso Programmazione Java Standard

Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Tipo di azienda o settore Confcommercio Tipo di impiego Catalogazione informatizzata ed interconnessione di sistemi complessi

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

PROGRAMMAZIONE DISCIPLINARE DIPARTIMENTALEDI INFORMATICA

Istituto di Istruzione Superiore Statale Carlo Emilio Gadda PIANO DI LAVORO ANNO SCOLASTICO 2016/2017. I.I.S.S '' C. E. GADDA Sede di FONOVO

Dipartimento di INFORMATICA, TC, TTRG. Anno Scolastico Piano di Lavoro Disciplinare

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

Standard di Percorso Formativo Tecnico del controllo di gestione

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Anno scolastico 2016 / Piano di lavoro individuale. ITE Falcone e Borsellino. Classe: IV ITE. Insegnante: EMANUELA DEGASPERI MARIA CANNONE

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Programmatore sviluppatore software

I.T.I. E. MAJORANA SOMMA VESUVIANA PIANO DI LAVORO ANNUALE DEL DOCENTE ANNO SCOLASTICO 2015/2016

Principi di Progettazione del Software a.a Introduzione al corso Prof. Luca Mainetti Università del Salento

Laboratorio di Applicazioni Internet Anno Accademico 2005/2006

2131 Specialisti in informatica 2132 Programmatori informatici Informatici e telematici Tecnici informatici

Le competenze del PROJECT MANAGER e la relativa certificazione, secondo le norme UNI di riferimento.

Principi di Progettazione del Software a.a Introduzione al corso Prof. Luca Mainetti Università del Salento

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

ALLEGATO B FORMULARIO PER LA PRESENTAZIONE DELLE PROPOSTE FORMATIVE PER IL CATALOGO REGIONALE CIRS IDENTIFICAZIONE DELL ORGANISMO PROPONENTE

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Anno scolastico 2016 / Piano di lavoro individuale. ITE Falcone e Borsellino. Classe: II ITE. Insegnante: DEGASPERI EMANUELA

Prefazione...IX. Ringraziamenti...XIII. Gli autori...xv. Capitolo 1 - Le tecnologie mobili: la nuova generazione di tecnologie dell informazione...

Architettura Client-Server. In a nutshell

INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017

Installatore, gestore e manutentore di piccoli impianti di energia geotermica

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

RIF. CORSO: 2015-GG-39. Scheda progetto

Principi di Progettazione del Software a.a " Introduzione al corso! Prof. Luca Mainetti! Università del Salento!

Linee di programmazione

F ORMATO EUROPEO INFORMAZIONI PERSONALI DOTT. MAURO DORIA PER IL CURRICULUM VITAE. Nome Indirizzo. Telefono .

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

vero: metodi di sequenziali, linee di (lettura del disegno) 5. Utilizzare software di base di lavorazione per la

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Corso di INFORMATICA AZIENDALE (4 CFU)

Introduzione alla Programmazione per il Web

COMPETENZE TECNICO PROFESSIONALI INTERSETTORIALI AREA TEMATICA: LINGUA ITALIANA. ITALIANO PER STRANIERI (prima annualità)

ITIL e PMBOK Service management and project management a confronto

Piano di Lavoro. di INFORMATICA. Secondo Biennio

Gestione dell integrazione del progetto. Luigi De Laura, PMP, PE, PMI Central Italy Chapter Branch Toscana director

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE

Progettazione curricolo verticale percorso formativo per Unità di Apprendimento (UDA)

1) Junior TIBCO Consultant

Progettazione di basi di dati

Basi di dati Basi di dati per bioinformatica

ELETTRONICA ED ELETTROTECNICA

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Management della Qualità

I.I.S. N. PELLATI Nizza Monferrato - Canelli

sede di reggio emilia

Standard di Percorso Formativo Tecnico dell organizzazione di eventi culturali e dello spettacolo

Dipartimento di Diritto ISIS ZENALE E BUTINONE TREVIGLIO Anno scolastico

Corso per Progettisti dei Sistemi di Gestione per la Qualità UNI EN ISO 9001:2008 PROGRAMMA DEL CORSO 32 ORE

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

Il PROCESSO UNIFICATO

Istituto di Istruzione Superiore Statale Carlo Emilio Gadda PIANO DI LAVORO ANNO SCOLASTICO 2015/2016. I.I.S.S '' C. E. GADDA Sede di FONOVO

Standard di Percorso Formativo Addetto qualificato alle macchine utensili tradizionali e a c.n.c.

MATERIALI PER LA DISCUSSIONE

Programma corso di Informatica Prof.ssa Enrichetta Gentile

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Sistema Regionale di Istruzione e Formazione Professionale

Standard di Percorso Formativo Assistente di direzione affari generali

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Corso Analista Programmatore Microsoft Corso Online Analista Programmatore Microsoft

Architettura. Nome Modulo Tipologia lezioni Ore Docente SSD Ruolo Interno Affidamento. Vincenzo Conti

ISTITUTO TECNICO COMMERCIALE STATALE GAETANO SALVEMINI CASALECCHIO DI RENO (BO)

MySQL per amministratori di database

Standard di Percorso Formativo Tecnico della progettazione e della stampa con tecnologia 3D Allegato 2B

Transcript:

Intervento didattico: Descrivere l articolazione modulare indicando per ogni modulo gli obiettivi specifici, la durata, le conoscenze e competenze da acquisire, le modalità formative, le eventuali modalità di valutazione (se previste per il modulo), l articolazione in unità didattiche. Per una migliore valutazione dell impianto formativo, possono essere descritti anche gli indicatori di padronanza delle competenze acquisite, le attrezzature e tecnologie impiegate, la bibliografia di riferimento, i sussidi didattici che verranno forniti ai corsisti. E opportuno far precedere alla descrizione dei moduli un quadro grafico d insieme dell impianto formativo. Il corso si propone di creare una figura altamente professionale capace di realizzare applicativi informatici atti a risolvere, gestire e automatizzare procedure aziendali diversificate per campi di interesse. Il corso ha come obiettivo quello di introdurre la programmazione a oggetti e di fornire le basi fondamentali per lo sviluppo in ambiente Java. Durante il corso si svilupperanno esercizi pratici che saranno revisionati dall'istruttore al fine di poter apprendere correttamente le procedure dello sviluppo del software. Specificatamente la figura professionale oggetto del presente corso è quella dell analista programmatore Java EE, una figura che sviluppa l analisi di un problema in termini informatici. A tal fine: raccoglie richieste, necessità e indicazioni del Cliente; analizza i processi aziendali nei quali si inserisce l intervento e ne valuta la fattibilità economica e tecnologica; collabora alla definizione di architetture e modelli e al disegno di processi di controllo dell infrastruttura informatica garantendo coerenza e completezza del sistema rispetto ai vincoli tecnologici e progettuali; definisce il diagramma di flusso degli applicativi del sistema informativo e ne realizza le varie fasi trascrivendole in codice di programmazione; analizza e interpreta i dati ottenuti dal monitoraggio/test apportando eventuali modifiche o migliorie; partecipa alla stesura del manuale d uso del Sistema Informativo. Il grafico in basso esplica le attività che l Analista Programmatore Java EE svolge con la relativa descrizione: ATTIVITA Analizza e interpreta la domanda del cliente Progetta gli Applicativi del Sistema Informativo Sviluppa e programma gli Applicativi del Sistema Informativo Definisce le procedure per la gestione e la manutenzione degli Applicativi del sistema DESCRIZIONE Raccoglie le indicazioni e le necessità esplicite e fa emergere quelle latenti. Valuta la fattibilità economica e tecnologica, elabora e formalizza proposte alternative. Disegna i processi di esecuzione e controllo dell infrastruttura informatica, garantendo coerenza e completezza e formalizza i dettagli dei moduli software. Scrive in codice di programmazione quanto riportato nel progetto. Predisposizione della relativa documentazione tecnica.

Convalida gli Applicativi del Sistema Informativo Analizza e interpreta i dati ottenuti dal monitoraggio/test al fine di evidenziare eventuali problematicità e valuta la necessità di apportare delle modifiche. Collauda gli applicativi del Sistema Informativo e predispone il manuale d uso Controlla l integrazione dei vari componenti garantendo il corretto funzionamento del sistema complessivo. Gli argomenti principali del corso saranno: Introduzione a Java La programmazione Object Oriented La progettazione di classi Arrays, eccezioni, asserzioni e librerie di classi di uso generale L analisi e la progettazione dei sistemi software UML Class Diagram, Use Case Diagram, Sequence Diagram I database relazionali, SQL e JDBC Applicazioni web: componenti view, controller Salute e sicurezza nei luoghi di lavoro Inglese tecnico di settore Il Project Management La formazione di aula in ottemperanza all avviso pubblico di riferimento, si canalizza nell azione B: interventi finalizzati al conseguimento della qualifica. Il percorso d aula durerà complessivamente 510 ore e si articolerà in giornate formative per un massimo di 6 ore a giornata e prevede la presenza costante di un tutor tecnico. Al termine della formazione di aula verrà contemplata per tutti i partecipanti la realizzazione di uno stage formativo della durata di 210 ore che avrà le caratteristiche di un training on the job e che, consisterà nell affiancare un team di sviluppo nelle attività progettuali e realizzative, completando il percorso di formazione canonico definito dalla formazione di aula iniziale. Al termine del corso, i discenti avranno acquisito le competenze per realizzare applicazioni, web o desktop che siano, in grado di integrare interfacce utente evolute, complesse logiche elaborative, accesso ai database più diffusi e servizi web distribuiti. Alla fine del Corso, tutti gli allievi che avranno raggiunti una frequenza dell 80% verranno ammessi a sostenere l'esame per il rilascio dell Attestato di QUALIFICA PROFESSIONALE ai sensi della legge Regionale n 23 del 25/02/1992 e della legge Quadro n 845 del 21/12/1978.

La tabella riepilogativa delle unità di competenza del corso e dei relativi moduli didattici (comprensiva di durata dei moduli espressa in ore) è riportata di seguito: Code Your Future: competenze tecniche e specialistiche per l analista programmatore Java EE (Enterprise Edition) Unità di competenza Num. Titolo Modulo Durata 1. Modellazione requisiti applicazioni informatiche 1.1 1.2 Introduzione a Java: metodologie, framework e strumenti di progettazione La programmazione Object-Oriented: progettazione di base del sistema e delle componenti 56 48 2. Progettazione tecnica applicazioni informatiche 2.1 La progettazione dei sistemi software UML: definizione interfaccia utente, usabilità, veste grafica ed editoriale. 2.2 La modellazione dei database e la progettazione DBMS 32 64 3.1 I linguaggi di programmazione ad oggetti, Java 32 3. Sviluppo applicazioni informatiche 3.2 La relazione delle applicazioni con i database 56 3.3 Creazione di applicazioni su modello MVC 64 3.4 Introduzione alla Function Point Analisys 32 4. Convalida applicazioni informatiche 4.1 Metodologie, modalità e strumenti per il collaudo e testing del sistema e aspetti legati alla sicurezza 40 5.1 Salute e sicurezza nei luoghi di lavoro D.lsg 81/08 8 5. Moduli trasversali 5.2 Inglese tecnico di settore 38 5.3 Introduzione al Project Management 40 Totale Ore 510

Modulo 1.1 Introduzione a Java: metodologie, framework e strumenti di progettazione Il modulo ha l obiettivo di fornire una panoramica sui linguaggi di programmazione basati sull'approccio Object Oriented (Java), sui linguaggi per interagire con un DBMS (SQL) ed introduzione agli ambienti di sviluppo (tools) più usati Obiettivi specifici: Panoramica sui linguaggi di programmazione basati sull'approccio misto (C++), Object Oriented (Java), sui linguaggi per interagire con un DBMS (SQL) Introduzione agli ambienti di sviluppo (tools) più usati Durata: 56 Ore Conoscenze da acquisire (sapere): Capire la differenza fra linguaggio procedurale ed Object Oriented ed avere un idea di cosa offre il mercato per interagire con un DBMS Conoscere, a grandi linee, cosa offrono gli ambienti di sviluppo più diffusi Competenze da acquisire (saper fare, abilità): A fronte di un problema saper individuare il linguaggio o i linguaggi migliori con cui esprimere la soluzione. Saper selezionare la tecnologia ed i tools più adatti per la progettazione tecnica del prodotto software Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 Titolo unità didattica I linguaggi di programmazione: a cosa servono e loro principali caratteristiche L'approccio procedurale: caratteristiche, pro e contro L'approccio OO: caratteristiche, pro e contro Interagire con un database: caratteristiche dei linguaggi commerciali Indicatori di padronanza delle competenze acquisite: livello di comprensione delle differenze fra gli approcci presentati Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento: Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma e Richard Helm (1994) Introduction To Object-Oriented Programming, Timothy Budd (2001) Sussidi didattici: Slide

Modulo 1.2 La programmazione Object-Oriented: progettazione di base del sistema e delle componenti Il modulo ha come obiettivi di identificare i requisiti, le tecnologie e le piattaforme adatte al progetto come soluzione concreta ad un progetto di business. In particolare verranno presentati i principali costrutti dello standard UML per la modellazione della soluzione di un problema secondo l'approccio Object Oriented Obiettivi specifici: Presentare i principali costrutti dello standard UML per la modellazione dei processi e della soluzione di un problema secondo l'approccio Object Oriented. Durata: 48 Ore Conoscenze da acquisire (sapere): A fronte di un progetto, verrà evidenziato come individuare e descrivere una possibile soluzione ad alto livello usando il linguaggio UML. Identificare la struttura di base del prodotto software con i componenti principali (moduli) e le relative relazioni ed interrelazioni. Competenze da acquisire (saper fare, abilità): Capacità di distinguere le componenti principali di un applicazione Implementazione di una semplice applicazione Java che permetta di progettare la parte client (html, css, javascript), la parte server e una connessione dati di esempio Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Test finale e verifiche intermedie Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 ud.5 Titolo unità didattica Cosa è UML ed a cosa serve Il linguaggio UML per modellare i requisiti funzionali I costrutti UML per descrivere le classi ed i tipi di relazioni possibili fra classi I costrutti UML per modellare le relazioni fra le classi La modellazione del dominio: i diagrammi delle attività Indicatori di padronanza delle competenze acquisite: Capacità di rappresentare in UML un caso reale Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento: www.omg.org UML distilled. Guida rapida al linguaggio di modellazione standard Fowler, Baresi - Pearson; 4 edizione (giugno 2010) Sussidi didattici: Slide

Modulo 2.1 La progettazione dei sistemi software UML: definizione interfaccia utente, usabilità, veste grafica ed editoriale Il modulo ha gli obiettivi di fornire gli elementi di base per la progettazione di un interfaccia utente coerente e funzionale, ed approfondire gli strumenti che permettono di comporla. Obiettivi specifici: Fornire la conoscenza dei principi di usabilità ed ergonomia delle interfacce utente. Fornire la conoscenza delle metodologie di progettazione di interfacce. Fornire la conoscenza delle metodologie di prototipazione (a vari livelli di dettaglio) Elementi di HTML5 e CSS Durata: 64 Ore Conoscenze da acquisire (sapere): Principi di usabilità Principi di progettazione delle interfacce e delle interazioni Metodologie di prototipazione statica e dinamica Elementi di HTML5 e CSS Competenze da acquisire (saper fare, abilità): Capacità di valutare l usabilità di una interfaccia utente (Expert Review) Capacità di realizzare storyboard, sketch e wireframe Capacità di realizzare prototipi statici e dinamici Capacità di realizzare Style Guide Capacità di realizzare un interfaccia grafica sfruttando gli attuali standard HTML5 Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Sviluppo di un caso di studio da realizzarsi singolarmente Sviluppo di un caso di studio da svilupparsi in gruppo Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 Titolo unità didattica Principi di usabilità Progettazione di interfacce: Storyboard, Sketch e Wireframe Prototipazione statica e dinamica Style Guide e veste grafica di un prodotto/servizio Indicatori di padronanza delle competenze acquisite: Capacità di riconoscere problemi di usabilità in una interfaccia utente. Capacità di realizzare, a diversi livelli di dettaglio, Storyboard, Sketch e Wireframe. Capacità di realizzare un prototipo, statico e dinamico, di una interfaccia utente. Capacità di realizzare una style guide. Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento:

Fondamenti di grafica di Gavin Abrose e Paul Harris (2012) Don't make me think. Un approccio di buon senso all'usabilità web e mobile di Steve Krug e B. Sansone (2014) A Project Guide to UX Design: For user experience designers in the field or in the making di Russ Unger (2009) Sussidi didattici: Slide

Modulo 2.2 La modellazione database e la progettazione DBMS Il modulo ha come obiettivi la progettazione di database relazionali, e la concreta realizzazione ed utilizzo di un database tramite My SQL. Obiettivi specifici: Acquisire le conoscenze necessarie a progettare un database relazionale Acquisire i fondamenti del linguaggio SQL Durata: 32 Ore Conoscenze da acquisire (sapere): Cosa si intende per Data Base e da cosa è formato. I passi per la sua progettazione. La sintassi del linguaggio SQL (Creare oggetti di database, Creare e modificare tabelle tramite sintassi SQL, Oggetti e classi, Creare e modificare viste, Creare e modificare vincoli, Eseguire query di dati tramite istruzioni SELECT, Implementare sottoquery, Implementare tipi di dati, Implementare le query aggregate, Creare e modificare stored procedure, Modificare dati tramite istruzioni INSERT, UPDATE e DELETE, Combinare set di dati, Utilizzare le funzioni, Risoluzione di problemi e ottimizzazione, Ottimizzare le query) Competenze da acquisire (saper fare, abilità): Capacità di descrivere la realtà di interesse in modo concettuale, relazionale e fisico. Adottare strumenti e procedure per la progettazione funzionale della base dati. Funzioni e linguaggi dei Data Bases relazionali Progettare un database, con le sue relazioni, chiavi, indici e constraint Interrogare e modificare un database tramite linguaggio SQL Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 ud.5 ud.6 Titolo unità didattica Introduzione ai Data Base. I passi per la sua progettazione La modellazione concettuale: lo schema E-R, il diagramma delle classi UML La modellazione logica: il modello relazionale Passaggio schema concettuale - schema relazionale Lo schema fisico L utilizzo del linguaggio SQL Indicatori di padronanza delle competenze acquisite: livello di comprensione dei vari passi del percorso progettuale di un Data Base livello di abilità nell' uso di SQL Attrezzature e tecnologie impiegate:

Bibliografia e sitografia di riferimento: Basi di dati - Atzeni, Ceri, Paraboschi, Fraternali, Editore : McGraw-Hill Education; 4 edizione (febbraio 2014) www.oracle.com Welcome to Oracle Ruocchio Editore : Lulu.com (ottobre 2011) Sussidi didattici: Slide

Modulo 3.1 I linguaggi di programmazione ad oggetti, Java Il modulo ha gli obiettivi di presentare un introduzione ai linguaggi ad oggetti, con un concreto approfondimento su JAVA. Obiettivi specifici: implementare struttura e elementi di una classica applicazione desktop; creare classi, definire l'interfaccia, creare e usare collection; utilizzare l'ereditarietà per creare una gerarchia di classi; leggere e scrivere dati tramite file I/O e stream; utilizzare entity data model; interrogare dati remoti tramite JDBC; creare una interfaccia utente tramite XAML; integrare librerie e componenti dinamici. Durata: 32 Ore Conoscenze da acquisire (sapere): Principi di programmazione a oggetti Sintassi del linguaggio JAVA Competenze da acquisire (saper fare, abilità): Creare un programma desktop in JAVA utilizzando il modello OOP. Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 ud.5 ud.6 ud.7 ud.8 ud.9 Titolo unità didattica Java: struttura di un programma Java: tipi di dato primitivi e la dichiarazione di una variabile Java: strutture di controllo Java: arrays mono e multidimensionali Java: creazione di una classe e di oggetti Java: classi predefinite Java: l'ereditarietà e l'organizzazione delle classi nel mondo Java Java: classi abstract, interfaces Java: le eccezioni e la loro gestione Indicatori di padronanza delle competenze acquisite: Livello di abilità nell uso del linguaggio

Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento: www.oracle.com Java: The Complete Reference Schildt - McGraw - Hill Education, nona edizione (aprile 2014) Sussidi didattici: Slide

Modulo 3.2 La relazione delle applicazioni con i database Il modulo ha l obiettivo di approfondire il linguaggio Java con particolare attenzione all interfacciamento con i database. Obiettivi specifici: I Data Provider I Componenti di accesso ai dati Programmazione e database con JDBC Introduzione ai sistemi di Object Relational Mapping (ORM) con particolare riferimento alle Java Persistence API (JPA) Introduzione ai Session Bean (EJB 3.0) Durata: 56 Ore Conoscenze da acquisire (sapere): Le tecnologie di accesso ai dati con JDBC Interfacciamento ad un database tramite JPA Competenze da acquisire (saper fare, abilità): Capacità di realizzare un applicazione di connessione ad un database Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 Titolo unità didattica Architettura di accesso ai dati. La tecnologia JDBC L interazione con un RDBMS L utilizzo di JPA per l Object Relational Mapping Indicatori di padronanza delle competenze acquisite: Capacità di configurare l accesso ad un RDBMS Capacità di creare query Entity Bean con JPA Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento: JDBC: Practical Guide for Java Programmers (The Practical Guides), Gregory D. Speegle (2001) Jdbc Api Tutorial and Reference, Maydene Fisher e Jon Ellis (2003) Java JDBC, lavorare con i database: appunti di un programmatore per programmatori (Programmazione Vol. 12), Christian Palazzo (2017) Sussidi didattici: Slide

Modulo 3.3 - Creazione di applicazioni su modello MVC Introduzione al modello MVC (Model View Controller), e la sua applicazione nella realizzazione di componenti web in Java EE (Servlet, JSP). Obiettivi specifici: Progettare l'architettura di una applicazione web per rispondere a specifici requisiti funzionali e di interfaccia; Creare MVC Models; Aggiungere Controller ad una applicazione MVC; Creare Views in una applicazione MVC; Scrivere un web service e richiamarlo da una applicazione MVC; Creare un applicazione web utilizzando il framework STRUTS come modello di implementazione del pattern MVC Descrivere come distribuire una web application Java MVC su un web server Durata: 64 Ore Conoscenze da acquisire (sapere): Il modello MVC L implementazione di MVC Interfacciamento con il lato client Competenze da acquisire (saper fare, abilità): Creare un applicazione Java web basata sul modello MVC Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 Titolo unità didattica Il pattern MVC. Gli altri pattern fondamentali (Front Controller, Proxy, Singleton, ) STRUTS Definire e descrivere servizi web. La distribuzione di una web application Indicatori di padronanza delle competenze acquisite: Capacità di progettare casi d uso in un contesto MVC Capacità di definire ed implementare API di servizi Web Capacità di eseguire il deploy di un applicazione su un web conteiner java Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento: Professional Java for Web Applications, Nicholas S. Williams (2014)

Professional Java EE Design Patterns, Murat Yener e Alex Theedom (2015) Struts in Action: Building Web Applications With the Leading Java Framework (Inglese) George Franciscus, Cedric Dumoulin, David Winterfeldt, Ted Husted (2002) Javascript & jquery: Interactive Front-End Web Development, Jon Duckett e Gilles Ruppert (2014) Sussidi didattici: Slide

Modulo 3.4 Introduzione alla Function Point Analisys Il modulo ha l obiettivo di introdurre all'utilizzo della stima della dimensione di un software utilizzando il metodo dei Function Points. Obiettivi specifici: Conoscere le basi della misurazione del software. Essere in grado di effettuare misure in Function Point. Saper interpretare i risultati ottenuti dalla misura. Saper distinguere ed usare appropriatamente misure funzionali e misure tecniche del software. Durata: 32 Ore Conoscenze da acquisire (sapere): Conoscere le basi della misurazione funzionale Saper distinguere ed usare appropriatamente misure funzionali e misure tecniche del software Inquadrare il processo di misura nel contesto del governo e del process improvement dell ICT Comprendere la metodologia IFPUG Conoscere il processo di conteggio dei Function Point, e le diverse tipologie di Conteggio Competenze da acquisire (saper fare, abilità): Applicare la tecnica Function Point Analysis a contesti specifici Essere in grado di effettuare misure in Function Point secondo la versione scelta Saper interpretare in maniera corretta i risultati ottenuti dalla misura Dimensionamento delle Funzioni Dati: ILF e EIF Dimensionamento delle Funzioni Transazionali: EI; EQ; EO Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 Titolo unità didattica Funzioni di Tipo Dati (ILF, EIF); definizioni e regole Funzioni di Tipo Transazionale (EI, EQ, EO); definizioni e regole Calcolo del valore di aggiustamento Formule di conteggio Indicatori di padronanza delle competenze acquisite: Capacità di effettuare misure in Function Point Capacità di applicare la tecnica Function Point Analysis a contesti specifici Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento:

Function Point Analysis: Measurement Practices for Successful Software Projects, David Garmus e David Herron (2000) It Measurement: Practical Advice from the Experts, International Function Point Users Group e Ed Yourdon (2002) Sussidi didattici: Slide

Modulo 4.1 Metodologie, modalità e strumenti per il collaudo e testing del sistema e aspetti legati alla sicurezza Il modulo ha gli obiettivi di presentare una panoramica delle tecniche ed aspetti generali legati al debug e alla sicurezza delle applicazioni. Obiettivi specifici: Tecniche di debug in visual studio Utilizzo dello Unit Testing Principi di un applicazione robusta e sicura Durata: 40 Ore Conoscenze da acquisire (sapere): Tecniche di debug Utilizzo dello Unit Testing Introduzione alla prevenzione di attacchi SQL Injection e D.O.S. Competenze da acquisire (saper fare, abilità): Realizzare un debug e il miglioramento di un applicazione tramite unit testing Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Sviluppo di un caso di studio da realizzarsi singolarmente Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 ud.4 Titolo unità didattica Il debugging Principi di test del software Il test di unità. Altri tipi di test (non regressione, sicurezza, carico, ). I principali tipi di attacco da cyber criminali e le contromisure tipiche da adottare Indicatori di padronanza delle competenze acquisite: Capacità di debugging di codice Capacità di progettazione ed esecuzione di test di unità Capacità di progettare contromisure per attacchi DOS e SQL Injection Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento: Managing the Testing Process, 3rd Edition (2009) Design Driven Testing (2010) Sussidi didattici: Slide

Modulo 5.1 Sicurezza sul lavoro Il corso ha l obiettivo di far acquisire ai lavoratori le nozioni di base della sicurezza sul lavoro in osservanza e ai sensi dell art. 37 comma 2 del Testo Unico (D.Lgs. n. 81/2008) ed in conformità all Accordo Stato Regioni del 21/12/2011 pubblicato nella Gazzetta Ufficiale n. 8 dell 11/01/2012. Obiettivi specifici: Conoscenza delle caratteristiche del posto di lavoro e dei rischi ad esso connessi; rispetto costante delle misure di prevenzione e sicurezza Durata: 8 Ore Conoscenze da acquisire (sapere): I rischi connessi alla propria mansione/posto di lavoro; Competenze da acquisire (saper fare, abilità): Le misure di prevenzione collettiva presenti sul posto di lavoro Modalità formative: Lezione frontale, esercitazioni guidate Modalità di valutazione: Test a risposte multiple Unità didattiche: Cod. ud.1 ud.2 ud.3 Titolo unità didattica La sicurezza sui luoghi di lavoro formazione di base Uso di videoterminali: aspetti di sicurezza sul lavoro Altri rischi specifici nel settore informatico Indicatori di padronanza delle competenze acquisite: Riduzione dei casi di infortunio e malattia professionale Attrezzature e tecnologie impiegate: Bibliografia e sitografia di riferimento: D. Lgs 81/08 e s.m.; D. Lgs 106/09 e s.m. http://www.lavoro.gov.it/arealavoro/salutesicurezza/pages/default.aspx Sussidi didattici: Slide

Modulo 5.2 Inglese tecnico di settore Il modulo vuole mettere la risorsa in grado di fruire delle principali conoscenze del linguaggio tecnico inerenti gli ambienti informatici. In quest ottica, il modulo permette di conoscere la terminologia tipica del settore ed il significato delle principali sigle tecniche in lingua Inglese. Obiettivi specifici: Fornire le conoscenze per la corretta acquisizione e documentazione (modellazione) dei requisiti, funzionali e non, che il Cliente richiede vengano soddisfatti Durata: 38 Ore Conoscenze da acquisire (sapere): Raggiungere un buon grado di dimestichezza nell utilizzo della lingua straniera durante il processo di fruizione/elaborazione dei contenuti Competenze da acquisire (saper fare, abilità): Essere in grado di leggere ed utilizzare il gergo tecnico del settore informatico. Modalità formative: Lezione frontale, esercitazioni guidate, prove pratiche. Modalità di valutazione: Test a risposte multiple. Unità didattiche: u.d 1 English for computers (Computer Essentials, Inside the System, Capturing Images, Magnetic storage, Input/Output Devices, Flash Memory) u.d. 2 Il gergo tecnico del server e del web (The Operating System (OS), Word Processing (WP), Spreadsheets and Databases, Desktop Publishing, Multimedia and the Web, Web Design, Web Server, Internet Security) Indicatori di padronanza delle competenze acquisite: Capacità di interpretare correttamente testi tecnici Capacità di scrivere un breve testo tecnico usando la corretta terminologia informatica Attrezzature e tecnologie impiegate: Video, Handout Bibliografia e sitografia di riferimento: Infotech: English for Computer Users Cambridge Professional English English for Information Technology Pearson Longman Oxford English for Information Technology Oxford University Press http://www.english4it.com/ http://www.pearsonlongman.com/technicalenglish/ http://www.myeducationkey.com/subject/computer-science.htm

Sussidi didattici: Slide, Video, Handout Modulo 5.3 Introduzione al Project Management Il modulo ha l obiettivo di fornire le conoscenze fondamentali per gestire progetti/programmi, Il adottando l approccio per processi di Project Management e fornisce tutte le informazioni per gestire correttamente un progetto (ed i relativi template). È sviluppato seguendo le logiche del PMBOK, ovvero esaminando tutte le problematiche connesse con la gestione progetti seguendo lo sviluppo dello stesso secondo le fasi di avvio, pianificazione, esecuzione, controllo e chiusura. Obiettivi specifici: Fornire la definizione delle attività per la gestione di progetti IT stimando budget e costi. Durata: 40 Ore Conoscenze da acquisire (sapere): come operare la stima e determinare la durata delle attività progettuali fino alla costruzione ed ottimizzazione del reticolo di schedulazione delle stesse (Network Diagram). come stimare i costi nelle fasi di definizione del budget di progetto per poi procedure al controllo economico dello stesso attraverso la metodologia dell'earned Value. come assicurare la qualità del prodotto e del processo attraverso la pianificazione e l'approntamento di sistemi di misura e di controllo. come gestire il capitale umano a partire dalle fasi iniziali di team building mettendo a frutto quelle componenti di soft-skills che sono assolutamente indispensabili in questo contesto. come impostare i processi di comunicazione fin dalle fasi iniziali attraverso un sapiente utilizzo degli strumenti di reporting e una gestione professionale delle relazioni con i vari stakeholders. come identificare e classificare i rischi e le opportunità progettuali per poterne valutare l'incidenza in termini qualitativi e quantitativi e quindi stabilire e monitorare le azioni di contrasto preventive e non. come gestire l'intero ciclo di approvvigionamento (dalla stipula alla chiusura) adottando le forme contrattuali più idonee in funzione della natura dell'incarico e del ruolo assegnato al fornitore. illustrazione degli obblighi professionali e soprattutto etici cui un Project Manager deve adempiere nel pieno rispetto della propria qualifica e dei diversi interessi di cui gli stakeholders sono portatori. Competenze da acquisire (saper fare, abilità): Gestione dell integrazione di progetto Gestione dell ambito di progetto Gestione dei tempi di progetto Gestione dei costi Gestione della qualità Gestione delle risorse umane di progetto Gestione della comunicazione di progetto Gestione dei rischi di progetto Gestione dell'approvvigionamento di progetto. Modalità formative: Lezione frontale, esercitazioni guidate, prove pratiche. Modalità di valutazione: Test a risposte multiple.

Unità didattiche: u.d 1 Gestione dell integrazione di progetto Sviluppare il Project Charter Sviluppare la descrizione preliminare dell'ambito del progetto Sviluppare il piano di Project Management Dirigere e gestire l'esecuzione del progetto Monitorare e controllare il lavoro del progetto Controllo integrato delle modifiche Chiudere il progetto Gestione dell'ambito del progetto Pianificazione dell'ambito Definizione dell'ambito Creare la WBS Verifica dell'ambito Controllo dell'ambito u.d. 2 Gestione dei tempi di progetto Definizione delle attività Sequenzializzazione delle attività Stima delle risorse delle attività Stima della durata delle attività Sviluppo della schedulazione Controllo della schedulazione Gestione dei costi di progetto Stima dei costi Allocazione dei costi Controllo dei costi Indicatori di padronanza delle competenze acquisite: Capacità di gestire un progetto armonizzando costi, tempo e qualità Attrezzature e tecnologie impiegate: Video, Handout Bibliografia e sitografia di riferimento:

A Guide to the Project Management Body of Knowledge (PMBOK Guide) - 5th Edition, PMI Project Management Institute e American National Standards Institute (ANSI), 2014. Sussidi didattici: Slide, Video, Handout