TECNOLOGIE DELLA INFORMAZIONE E DELLA COMUNICAZIONE TECNICO SUPERIORE PER I METODI E LE TECNOLOGIE PER LO SVILUPPO DI SISTEMI SOFTWARE - APPLICAZIONI INTEGRATE SU DISPOSITIVI MOBILI - THIENE (VI) L'architettura del corso è la seguente: 1) Unità' formative base (UFB): 200h (110h al 1°anno, 90h al 2°anno) forniscono competenze trasversali alla figura come inglese tecnico, soft skills, processi aziendali, secondo i requisti delle Macrocompetenze ITS Comuni (DM MIUR 7/9/2011) 2) Unità formative tecnico-professionali base (UFTPB): 570h al 1°anno. Forniscono le competenze tecniche indispensabili, quali sistemistica e networking, programmazione, database, sviluppo web, gestione progettuale. Costituiscono la base per la costruzione di figure di professionisti ICT, con stretto riferimento allo standard europeo di competenze EUCIP CORE www.eucip.it 3) Unita' formative tecnico-professionali avanzate (UFTPV): 414h al 2°anno, forniscono una specializzazione in sviluppo mobile in iOS e Android, gestione progettuale. Strutturate per acquisire le macrocompetenze TP oggetto dei corsi ITS per l'ICT (DM MIUR 7/9/2011) 4) Stage: 320h al 1°anno, 480h al 2°anno. Permette di sperimentare in azienda quanto acquisito, oltre a consentire all'allievo di verificare la propria capacità di integrazione in contesto lavorativo 5) Esami finali: 16h al 2°anno 1 UFB01 - Gestione del processo formativo 12h Competenza da acquisire Condivisione delle modalità di gestione e controllo del processo formativo tra struttura erogatrice ed utenti Conoscenze: Sottoscrizione del contratto formativo - comprendere gli obiettivi del percorso formativo e la figura professionale che esso va a delineare - interpretare le proprie Conoscenze: e competenze alla luce della professione in oggetto Preparazione e feedback dello stage - esprimere le proprie indicazioni/aspettative/preferenze sulla possibile struttura d`inserimento per lo stage - creare ed utilizzare check-list osservative Abilità: Sottoscrizione del contratto formativo - effettuare una corretta valutazione delle proprie esperienze pregresse - utilizzare le tecniche di lavoro di gruppo e di cooperative learning Preparazione e feedback dello stage - descrivere le caratteristiche dell`azienda di inserimento - definire congiuntamente al tutor aziendale il proprio progetto formativo - compilare in modo corretto la documentazione per il tirocinio formativo prevista dalla normativa vigente - effettuare riassunti, schemi ed elaborati scritti - esporre davanti al gruppo classe la propria esperienza in azienda 2 UFB02 - La sicurezza e la prevenzione 8h Competenza da acquisire Maturare una piena consapevolezza dei rischi associati alla mansione/ambienti di lavoro e delle relative misure di prevenzione e protezione Conoscenze: - comprendere i concetti e principi principali in materia di sicurezza e prevenzione (pericolo, esposizione, danno, rischio,...) - conoscere la struttura organizzativa per la sicurezza in ambito aziendale (prevenzione, diritti, doveri, sanzioni, sorveglianza sanitaria, organi di vigilanza) Abilità: * Adottare le misure previste di prevenzione e protezione generali e specifiche della propria mansione, con particolare riferimento a: - rischi da disturbi muscolo scheletrici (DMS) - vdt - stress lavoro-correlato - rischio elettrico - microclima * adottare procedure corrette, in relazione al proprio ruolo, nella gestione delle emergenze Al termine del modulo, al superamento del test finale, verranno rilasciate ad ogni allievo le certificazioni previste dall`accordo Stato-Regioni del 21/12/2011 sulla formazione generale (4 ore di formazione) e specifica (4 ore di formazione, in relazione al basso grado di rischio associato al settore e alla figura professionale), cosi’ come previsto dall`art. 37 co. 1 del D.Lgs 81/08. 3 UFB03 - Inglese tecnico 80h Competenza da acquisire Sostenere conversazioni in lingua inglese, comprendere e scrivere testi su temi tecnici e settoriali, relativi all`ambito professionale dell`ICT Conoscenze: - Conoscere il contesto professionale: l`organizzazione dell`azienda, ruoli organizzativi e ruoli direttivi, processi aziendali e sistema informativo - Orientarsi e conoscere la terminologia di settore: hardware e strumenti software, funzioni ed attivita’ nella progettazione e sviluppo di applicativi, raccolta dei requisiti, analisi della richieste e stesura di un progetto, sviluppo e implementazione di un applicativo - Conoscere l`organizzazione interna dell`azienda: gli uffici paghe e personale, gli uffici amministrativi e di controllo di gestione, gli uffici tecnici, le organizzazioni sindacali Abilità: - Affrontare un colloquio di lavoro: la selezione del personale, il processo e la documentazione, il curriculum vitae, espressioni formali e punti essenziali da trattare in un colloquio di lavoro - Redigere/comprendere la documentazione tecnica: descrivere un progetto software, in termini funzionali e strutturali, stendere un progetto 4 UFB04 - Soft skills 32h Competenza da acquisire Valutare variabili interne ed esterne alla propria persona, comunicando e intrattenendo relazioni con diversi interlocutori, per pianificare autonomamente strategie di azione in contesti formativi e professionali Conoscenze: - comprendere le variabili personali ed il loro ruolo ed implicazioni nel contesto lavorativo e nel proprio percorso di sviluppo professionale - conoscere i principali meccanismi di comunicazione e relazione interpersonale, in particolare per quanto concerne i processi decisionali e il lavoro in team Abilità: - riconoscersi proattivamente nelle organizzazioni lavorative - inserirsi positivamente nei contesti lavorativi contribuendo attivamente allo sviluppo di progetti in team - affrontare e risolvere situazioni problematiche in contesto lavorativo 5 UFB05.1 - Processi aziendali e innovazione digitale – Privacy e Diritto 22h Competenza da acquisire Allineare le pratiche di gestione ed amministrazione dei sistemi informativi alle norme del diritto nazionale ed internazionale, in particolare per quanto riguarda le problematiche relative alla sicurezza e privatezza delle informazioni Conoscenze: - Conoscere l'origine del diritto alla privacy, la Protezione dei dati personali e sicurezza, La Normativa nazionale ed Europea sulla Privacy - Essere consapevole del ruolo della Sicurezza delle Informazioni e comprendere gli obblighi di sicurezza - Descrivere e essere consapevole dell'obbligo normativo sulle procedure per le copie di sicurezza (backup) e ripristino della disponibilità dei dati - Descrivere la privacy su Internet: modalità di informative e consensi su web e in via telematica - Conoscere responsabilità e compiti degli amministratori dei sistemi e il relativo provvedimento generale del Garante, essere consapevole delle Responsabilità e Sanzioni. Abilità: - Saper riconoscere e predisporre il consenso a norma - Conoscere, valutare e saper predisporre l'informativa (funzione, contenuti minimi obbligatori, le modalità di rilascio) - Conoscere e valutare e impostare le misure minime di sicurezza per i trattamenti con l'ausilio di strumenti elettronici - Riconoscere e predisporre il Documento Programmatico sulla Sicurezza (DPS) Preparare i partecipanti a sostenere gli esami della certificazione Europea: * Trattamento dei dati personali: Privacy e sicurezza (http://www.aicanet.it/aica/diritto-ict) 6 UFB05.2 - Processi aziendali e innovazione digitale – Sistema Qualità 20h Competenza da acquisire Allineare le pratiche di gestione ed amministrazione dei sistemi informativi ai criteri e standard di qualità tramite sistemi informativi Conoscenze: - Conoscere le basi dei Sistemi di Gestione per la qualità delle imprese e della pianificazione dei sistemi informativi aziendali - Conoscere e comprendere e applicare i concetti di base dei Sistemi Qualità - Conoscere i concetti e le procedure relativi alla soddisfazione del cliente Abilità: - Riconoscere i Processi aziendali in relazione al loro ruolo di miglioramento ed innovazione dell'impresa Preparare i partecipanti a sostenere gli esami della certificazione Europea: * Patente Europea per la Qualità - EQDL start (http://www.eqdl.it) 7 UFB05.3 - Processi aziendali e innovazione digitale – Informatica aziendale 26h Competenza da acquisire Allineare le pratiche di gestione ed amministrazione dei sistemi informativi alle metodologie di efficienza ed efficacia nella Gestione dei Progetti, alle tecnologie software Open Source e ai servizi informativi nella net economy Conoscenze: - Apprendere le nozioni-base di gestione dei processi, anche relative al trasferimento di innovazione - Conoscere il contesto per la corretta comprensione della realtà progettuale - Avere consapevolezza delle regole comportamentali del lavoro di gruppo - Conoscere l'economia globale della rete - Riconoscere le organizzazioni aziendali - Essere consapevole sui ruoli del personale ICT Abilità: - Applicare tecniche e metodologie per la gestione di progetti, sia dal punto di vista di componente del team che del suo responsabile - Comprendere e valutare il valore delle ICT nelle Aziende - Sapere come si imposta una start-up Preparare i partecipanti a sostenere gli esami della certificazione Europea: * European Project Management Qualification e-PMQ Fundamentals ( http://www.aicanet.it/aica/ePMQ/per-i-candidati) 8 UFTPB06.1 - Fondamenti di Sistemi operativi 48h Competenza da acquisire Introdurre le architetture dei calcolatori e ai sistemi operativi dal punto di vista dell’informatica e dell’ingegneria del software, delineando il ruolo del sistema operativo nei sistemi informativi moderni. Conoscenze: - Comprendere il ruolo del sistema operativo nel contesto dei sistemi informativi moderni, e soprattutto nei sistemi server - Conoscere a grandi linee la struttura e il funzionamento del sistema operativo Abilità: - Installare e configurare il sistema operativo ed i principali servizi - Installare, disinstallare, aggiornare software e garantire la manutenzione del sistema - Interagire con gli strumenti di amministrazione per garantire il funzionamento, la fruizione da parte degli utenti, ed il livello di performance 9 UFTPB06.2 - Fondamenti di Networking 32h Competenza da acquisire Introdurre le architetture, strutture, funzioni e componenti di internet e delle reti di PC. Fornire la capacita` di costruire semplici LAN e realizzare configurazioni di base di routers e switches Conoscenze: - descrivere device e servizi utilizzati nelle reti dati e in internet - descrivere il ruolo dei diversi livelli dei procolli nelle reti dati - conoscere i principi di indirizzamento e assegnazione di nomi nei protocolli IPv4 e IPv6 - Abilità: - progettare, calcolare e applicare indirizzi e maschere di sottorete secondo I requisiti IPv4 e IPv6 - costruire e configurare una semplice rete Etehrnet con l'uso di routers e switches 10 UFTPB06.3 - Fondamenti di virtualizzazione 28h Competenza da acquisire Introdurre i concetti fondamentali della virtualizzazione dei server e i modelli di riferimento aziendali in ambito di virtualizzazione. Comprendere opportunità e criticità della virtualizzazione. Pianificare e implementare un'infrastruttura virtuale Conoscenze: - comprendere i concetti fondamentali della virtualizzazione - comprendere i concetti di storage - comprendere i concetti di alta affidabilità Abilità: - progettare e dimensionare correttamente una infrastruttura virtualizzata - implementare una infrastruttura virtualizzata 11 UFTPB07.1 - Programmazione - Algoritmi e strutture dati: Javascript 40h Competenza da acquisire Conoscere le principali strutture dati, quali array, liste, code, dizionari, alberi binari di ricerca e gli algoritmi di ricerca e ordinamento Conoscenze: - Conoscere i principi generali della programmazione in Java - Conoscere le differenze concettuali tra variabili, operatori, e oggetti in Java - capire le implicazioni relative alla complessità computazionale. - conoscere i principali algoritmi di ordinamento: Bubble sort, Merge sort, Quick sort - comprendere i concetti e le implicazioni relative alle strutture dati: insiemi, dizionari e tabelle di hash Abilità: - utilizzare l'ambiente di sviluppo e il debug - Utilizzare i flussi di controllo: la selezione e i cicli - scrivere codice per la realizzazione di algoritmi di vista per array, ricerca lineare, ricerca binaria per array ordinati - gestire liste, code, stack e algoritmi di visita, ricerca, inserimento e rimozione - utilizzare correttamente alberi binari di ricerca e algoritmi di visita, ricerca, inserimento e rimozione 12 UFTPB07.2 - Programmazione - Object Oriented Programming: Java 40h Competenza da acquisire Conoscere i concetti di programmazione object orientation e applicarli a programmi in Java. Utilizzando strumenti e metodi di sviluppo, debugging e gestione degli errori e strutturando il progetto in package secondo principi di riutilizzo Conoscenze: - comprendere i concetti di object orientation (classi ed oggetti, metodi, attributi e costruttori, ereditarietà, polimorfismo) e applicarli a programmi in Java - comprendere i metodi di test e debugginf Abilità: - scrivere programmi in Java - interrogare un database attraverso Java - utilizzo di strumenti di sviluppo e debugging - scrittura di librerie Java da riutilizzare in altri progetti - adozione di alcune librerie per automatizzare la creazione di progetti - utilizzo di librerie esterne per scaricamento di informazioni da web ed elaborazione su database locale 13 UFTPB07.3 - Programmazione - Metodologie e Patterns per lo sviluppo del codice 16h Competenza da acquisire Conoscere e utilizzare i diversi Design Patterns in relazione alla soluzioni in sviluppo per gestire con efficienza le problematiche ricorrenti e migliorare l'efficacia del codice Conoscenze: - Conoscere i principali e più utilizzati modelli di Design Pattern (Creazionali, Strutturali e Comportamentali) - Riconoscere ed individuare i design pattern usati in librerie per migliorarne la fruizione da parte del proprio codice Abilità: - Gestire le problematiche ricorrenti secondo un modello di Design Pattern - Applicare il pattern GoF più adatto in relazione al tipo di problema, al contesto e al tipo di soluzione - Implementazione di semplici applicazioni utilizzando uno o più DP 14 UFTPB07.4 - Programmazione - Introduzione allo sviluppo mobile: Android 64h Competenza da acquisire Conoscere le basi dell’architettura Android, e delle problematiche legate allo sviluppo di applicazioni su tale piattaforma Conoscenze: - Conoscere l’architettura del sistema operativo Android - Comprendere la struttura di un’applicazione Android - Conoscere le problematiche legate a schermi di dimensioni e risoluzioni diverse Abilità: - L’ambiente di sviluppo: installazione, configurazione ed utilizzo degli strumenti di debug - Gestire il ciclo di vita delle activity - Creare le interfacce grafiche gestendo i layout per dimensioni e risoluzioni diverse - Utilizzare fragment e dialoghi - Utilizzare le librerie di supporto 15 UFTPB08.1 - DBMS relazionali e SQL 44h Competenza da acquisire Modellare un dominio applicativo complesso, progettando una base di dati atta a contenere tali dati Conoscenze: - riconoscere i fondamenti teorici del modello relazionale - conoscere i criteri di normalizzazione di una base dati - conoscere i fondamenti del linguaggio SQL Abilità: - progettare un database dal punto di vista concettuale - implementare un database verificandone le prestazioni - usare il linguaggio SQL per interagire con la base dati 16 UFTPB08.2 - DB Admin 12h ] Competenza da acquisire Installare, configurare e manutenere un sistema di gestione database (DBMS), in modo da permettere il corretto, affidabile e continuativo funzionamento dello stesso Conoscenze: - conoscere le funzionalità amministrative dei sistemi di gestione database (DBMS) - conoscere criteri e condizioni per il corretto, affidabile e continuativo funzionamento dello stesso Abilità: - impostare gli opportuni parametri di configurazione del sistema in modo da limitare le possibilità di perdita o accesso non autorizzato ai dati - configurare un DB postgreSQL per garantire scalabilità e alta affidabilità 17 UFTPB09.1 - Fondamenti di html 32h Competenza da acquisire Acquisire gli elementi di base del linguaggio html e i suoi derivati per implementare applicazioni web secondo gli attuali standard di fruizione cross-platform e multi-devices Conoscenze: - Conoscere gli elementi fondmentali ed evolutivi del linguaggio HTML ed HTML5 - Conoscere il modello di stile con i Cascading Style Sheets Abilità: - identificare il mockup grafico proposto e relativo layout - sapere costruire pagine web con l’utilizzo degli elementi più idonei e corretti - realizzare attività di testing cross-platform e multi-devices - implementazione con elementi client-side 18 UFTPB09.2 - Front end applications: javascript 52h Competenza da acquisire Utilizzare Javascript per la comunicazione client server e tramite l'utilizzo di framework Javascript, per lo sviluppo di applicazioni web, sia lato client che lato server Conoscenze: - Javascript come linguaggo di programmazione web frontend - conoscere strumenti e tools per la gestione dello scambio dati (REST e Ajax) - framework front end (AngularJS) e back end (Node.js) Abilità: - implementare i web services scegliendo la tecnologia a più adeguata - gestire la domanda di dati richiesti e lo scambio di dati con altri Web services - scambio di informazioni e l'effettuazione di operazioni complesse - realizzare di processi di business che coinvolgono più aree di una medesima realtà 19 UFTPB09.3 - Comunicazione visiva e UX design 28h Competenza da acquisire Acquisire le basi teoriche e strumentali d'interaction design, usabilità e architettura dell'informazione, per sviluppare un'esperienza utente (UX) efficace e amichevole Conoscenze: - Comprendere gli aspetti fondamentali di una buona esperienza Utente Abilità: - Saper scegliere la strategia e gli strumenti più adatti per progettare un'esperienza utente di successo - Integrare lo User Centered Design in un processo di sviuppo software, anche agile 20 UFTPB09.4 - Grafica digitale ed elaborazione immagini 34h Competenza da acquisire Elaborare immagini con interventi complessi in un'ottica operativa attenta alle diverse tipologie di gestione delle immagini digitali, per un corretto ed efficace utilizzo in ambito web e con dispositivi mobile Conoscenze: - Conoscere gli strumenti per la grafica digitale - Capire la teoria del colore - Conoscere e utilizzare i formati di file - Copyright e la protezione delle immagini Abilità: - Eseguire le operazioni di base sulle immagini: ritocco, riparazione, ritaglio, raddrizzamento, ridimensionamento - Lavorare con i livelli - Utilizzare gli strumenti Pittorici - Utilizzare filtri, metodi di fusione e stili di livello - Regolare tono e colore delle immagini in maniera non distruttiva - Modificare le immagini con gli strumenti di ritocco 21 UFTPB10 - Gestione progettuale I - ideazione e sviluppo di un'App Android 100h Competenza da acquisire Attraverso lo sviluppo di un'app Android affrontare la fase di avvio di un processo di sviluppo software, identificando la metodologia di sviluppo e gestione del progetto più appropriata Conoscenze: - comprendere l'importanza di avere coding standard e procedure uniformi e automatizzate - comprendere i concetti di base di project planning, considerando elementi come la limitatezza delle risorse, i rischi progettuali, le deadlines - comprendere le difficoltà oggettive e soggettive nell'affrontare le stime; conoscere strumenti per la stima collaborativa (es. planning poker), al fine di ridurre le possibilità di errori significativi - comprendere l'importanza e il funzionamento di strumenti per la gestione delle versioni (es. git) - cenni sugli approcci automatizzati alla validazione (ATDD/BDD) - comprendere le criticità delle operazioni di deployment, dal punto di vista tecnico, ma anche in rapporto alle dinamiche sociali con i colleghi e il cliente Abilità: - gestire l'intero ciclo di sviluppo di un software complesso, realizzato in team - saper raccogliere i requisiti in modo efficace; saperli affrontare in modo tradizionale (con documentazione esaustiva), oppure attraverso user story, spike solutions e prototipi - saper documentare un progetto software, in maniera più o meno formale (a seconda della metodologia di sviluppo scelta, oltre che dei destinatari e delle finalità dei documenti); cenni sui principali standard per la documentazione (es. use case, diagrammi di classe e sequenza in UML) - impostare un processo di sviluppo con TDD (Test Driven Development) - saper gestire il rapporto con il cliente/manager, anche quando questo non è preparato tecnicamente e vi è quindi difficoltà di dialogo La modalità del project work permette la messa in gioco e l'integrazione, in un contesto reale, delle competenze tecnologiche e di base acquisite, realizzando un ciclo di sviluppo completo, con gestione dei diversi aspetti e fasi di lavoro, con riferimento agli standard di sviluppo tipici dell'ingegneria del software: - definizione dei requisiti - aspetti economici e gestionali - aspetti relazionali e comunicativi con i membri del team di sviluppo, i manager e il committente - scelta tra i diversi processi di sviluppo - deployment finale 22 UFTPV11.1 - Sviluppo per mobile in iOS-Linguaggi di base: C, C++ 48h Competenza da acquisire Conoscere le basi dei linguaggi C e C++, con particolare riferimento ai tipi ed ai costrutti di questi linguaggi. Conoscenze: - Conoscere le caratteristiche e la struttura del linguaggio C - Conoscere le caratteristiche e la struttura del linguaggio C ++ - Principi della programmazione ad oggetti in C++ Abilità: - Utilizzare tipi, operatori, strutture di controllo e funzioni in C e in C++ - Utilizzare puntatori e gestione della memoria in C e C++ - Programmare ad oggetti in C++ - Utilizzare le librerie standard 23 UFTPV11.2 - Sviluppo per mobile in iOS -Objective C e Swift 48h Competenza da acquisire Conoscere le basi per lo sviluppo in Objective-C, gestendo il passaggio a Swift, nuovo standard in ambiente Apple. Conoscenze: - Connoscere la struttura di un programma in Objective-C e Switf - Conoscere le differenze concettuali e operative tra Objective-C e Switf Abilità: - Utilizzare tipi, operatori, strutture di controllo e funzioni nei due ambienti di sviluppo - realizzare programmi ad oggetti in Objective-C e Switf 24 UFTPV11.3 - Sviluppo per mobile in iOS -Sviluppo in iOS 64h Competenza da acquisire Sviluppare semplice applicativi in iOS, utilizzando l’ambiente di sviluppo per il debug delle proprie applicazioni. Conoscenze: - Conoscere l’ambiente di sviluppo iOS - Conoscere i principali componenti grafici - Conoscere i paradigmi per l’accesso e la visualizzazione dei dati Abilità: - installazione, configurazione ed utilizzare l'ambiente di sviluppo di iOS - Creare le interfacce grafiche - Utilizzare le diverse tipologie di view controller - Realizzare programmi con gestione di accesso e visualizzazione dei dati 25 UFTPV12.1 - Sviluppo per mobile - Sviluppo in Android 42h Competenza da acquisire Realizzare applicativi Android di media complessità, sfruttando le funzionalità di accesso ai dati e di operazione in background Conoscenze: - Approfondire le Conoscenze: dell’architettura Andorid - Conoscere l'adpater e i criteri di visualizzazone dei dati - Conoscere le caratteristiche e le peculiarità di SQLite Abilità: - Installare SQLite, implementare database e accedere ai dati dall'applicazione - gestire l’accesso e la visualizzazione dei dati - utilizzare content provider - utilizzare service - gestire correttamente l'esecuzione di task in background - eseguire il debug ed il testing delle apps 26 UFTPV12.2 - Sviluppo per mobile - Cenni allo sviluppo in altri ambienti: Windows Phone 64h Competenza da acquisire Avere una panoramica dello sviluppo su piattaforma Window Phone Conoscenze: - Conoscere le caratteristiche e la struttura del linguaggio C# - Principi della programmazione ad oggetti in C++ - Principi e caratteristiche principali di Windows Phone Abilità: - Installare e configurare l’ambiente di sviluppo di Windows Phone - Realizzare semplici apps in Windows Phone - Gestire la migrazione da apps sviluppare in iOS e Android 27 UFTPV13.1 - Mobile in ambiente enterprise - Sicurezza per le applicazioni mobile 24h Competenza da acquisire Gestire le problematiche di sicurezza legate all’utilizzo di applicazioni mobile in ambiente enterprise, acquisendo la necessaria sensibilità ai temi di sicurezza, privacy e tutela delle informazioni. Conoscenze: - Conoscere le problematiche di gestione della crittografia ed i relativi principali algoritmi - Conoscere le peculiarità inerenti la sicurezza legate all’utilizzo degli smartphone in ambito aziendale Abilità: - Utilizzare ed integrare strumenti di Mobile Device Management 28 UFTPV13.2 - Mobile in ambiente enterprise - Mobile e cloud: librerie per servizi cloud 36h Competenza da acquisire Valutare ed utilizzare le diverse librerie di servizi cloud ed integrarle all’interno di un applicativo mobile Conoscenze: - panoramica e modalità di utilizzo dei servizi cloud per il mobile (AWS, Google,...) - Conoscere caratteristiche, vantaggi e vantaggi delle diverse librerie per servizi cloud Abilità: - Configurare e utilizzare servizi di notifiche push, quali Google Cloud Messaging - Gestire integrazioni di diverse librerie cross/platform - Utilizzare il framework Google Maps - Gestire servizi di login tramite social, quali Facebook 29 UFTPV13.3 - Mobile in ambiente enterprise - Mobile marketing 12h Competenza da acquisire Acquisire le nozioni di base per la monetizzazione degli applicativi mobile e le relative strategie di marketing Conoscenze: - Conoscere i modelli di business delle apps - Conoscere i circuiti di banner pubblicitari - Elementi di mobile marketing Abilità: - Utilizzare analytics per il monitoraggio dell’uso delle app 30 UFTPV14 - Gestione progettuale II - Project Work 76h Competenza da acquisire Attraverso l'ideazione, progettazione, sviluppo e gestione di applicazioni mobile con interazione con dati remoti, affrontare e gestire gli aspetti dinamici ed evolutivi di un progetto software Conoscenze: - Comprendere gli aspetti fondamentali su continuos integration e continuous deployment - Introduzione ai sistemi di issue tracking per la gestione degli interventi di manutenzione ed estensione Abilità: - Pianificare i processi di aggiornamento e manutenzione di un'applicazione complessa - eseguire il refactoring della stessa - valutare l'impiego di sistemi di monitoring per tenere costantemente sotto controllo lo stato di salute di un'applicazione, ed essere proattivi nell'affrontare eventuali anomalie - affrontare e gestire problemi con tecniche di debugging e troubleshooting La modalità del project work permette la messa in gioco e l'integrazione, in un contesto reale, delle competenze tecnologiche e di base acquisite, con particolare riferimento agli aspetti, tipici della gestione progettuale in un contesto di produzione aziendale, di: - gestione dinamica di un progetto software - evoluzione dei requisiti e delle funzionalità - errata progettazione - progresso tecnologico - manutenzione evolutiva 31 UF15 - Esami 16h >> PREMESSA Scopo dell`esame finale è certificare l`acquisizione da parte dell`allievo delle competenze correlate alla figura professionale di riferimento, così come declinate nella presente proposta progettuale. Le modalità di esame, nel rispetto delle indicazioni dell`Art. 6 del DM MIUR 7 settembre 2011, sono quindi definite in coerenza con l`intento di verificare la capacità di esprimere le competenze proprie della figura professionale in un contesto pratico, anche se simulato, sulla base di indicatori misurabili di competenza, ovvero di misurazione di performance. I dettagli operativi e di contenuto della prova finale verranno sviluppati e definiti in fase di PROGETTAZIONE DI DETTAGLIO. Il programma d`esame sarà sottoposta a valutazione e validazione dal Comitato di Progetto e del Comitato Tecnico Scientifico della Fondazione. >> TIPI DI PROVE PREVISTE Gli esami, che si svilupperanno in un arco temporale di 16 ore, in due giornate, si articoleranno nelle seguenti prove: - una prova teorico-pratica concernente la trattazione e soluzione di un problema tecnico-scientifico inerente le attività più significative del profilo professionale, predisposta dal Comitato Tecnico Scientifico. La prova sarà formulata in maniera da permettere la verifica del raggiungimento della competenza generale in esito indicata dall’EQF quale caratterizzante il livello 5 (il livello a cui è stato referenziato dall’ISFOL il sistema di Istruzione Tecnica Superiore) ovvero: saper gestire e sorvegliare attività nel contesto di attività lavorative o di studio esposte a cambiamenti imprevedibili; esaminare e sviluppare le prestazioni proprie e di altri. I compiti lavorativi sono non consueti e non determinati, ed implicano soluzioni creative. La Commissione d’esame elaborerà gli indicatori per la valutazione della prova ed i relativi punteggi massimi (la somma complessiva massima è di 40 punti, con un minimo per considerare la prova superata di 24 punti). Graduerà inoltre per ciascun indicatore i livelli di giudizio con l’assegnazione di fasce di punteggio intermedie. - Una prova scritta tesa a valutare Conoscenze: e abilità nell’applicazione di principi e metodi scientifici nello specifico contesto dell'ICT. Tale prova viene predisposta dall’INVALSI in collaborazione con la Conferenza dei Rettori delle Università Italiane, ed è unica per tutto il territorio nazionale. I criteri di valutazione della prova saranno definiti dall’INVALSI contestualmente alla sua elaborazione. Il punteggio massimo per questa prova è di 30 punti, con un minimo di 18. - Una prova orale concernente la discussione di un progetto di lavoro (project work) sviluppato nel corso del tirocinio e predisposto in collaborazione con l’impresa ospitante. La Commissione d’esame elaborerà, insieme alla traccia della prova orale, gli indicatori per la valutazione della prova ed i relativi punteggi massimi (la somma complessiva massima è di 30 punti, con un minimo per considerare la prova superata di 18 punti). Graduerà inoltre per ciascun indicatore i livelli di giudizio con l’assegnazione di fasce di punteggio intermedie. >> VALUTAZIONE FINALE La valutazione finale verrà espressa in centesimi come risultato dei seguenti punteggi: - prova teorico-pratica: 40 punti, con minimo di 24 - prova scritta: 30 punti, con minimo di 18 - prova orale: 30 punti, con minimo 18. Si considerano acquisite le competenze oggetto del percorso formativo quando lo studente abbia conseguito il punteggio minimo di 70 punti su 100 e abbia superato il punteggio minimo, poco sopra indicato, in ciascuna delle prove.