Tecnico superiore per lo sviluppo di sistemi software ICT Cesena Profilo: Il Tecnico superiore per lo sviluppo di sistemi software ICT ha competenze tecniche e progettuali per analizzare, progettare e sviluppare sistemi software. Conosce e sa gestire le fasi del processo di lavoro: raccolta requisiti (relazione e brief con il cliente), redazione del documento di analisi funzionale, programmazione (Java, Python, C#, HTLM5, Php), testing e rilascio. Conosce i sistemi di rete e di virtualizzazione. Pertanto si avvale di tecniche e metodologie per l’installazione, supervisione e manutenzione di tali applicazioni con riferimento anche all’integrazione sistemica, alla gestione di reti, all’attuazione di aggiornamenti e ampliamenti, al supporto agli utenti. Fra i principali sbocchi occupazionali individuiamo aziende software, agenzie web, agenzie di comunicazione e imprese di qualsivoglia settore che realizzano internamente la funzione di sviluppo di sistemi software. Il possesso di competenze di programmazione specifiche, ma soprattutto l’aver appreso le basi delle logiche della programmazione rende questa figura professionale trasversale a molto settori e soprattutto risponde alla grande richiesta delle imprese dell’area ICT. Durata: 2000 ore (4 semestri) Aula/Laboratorio: 1120 ore Stage: 800 ore Project work: 80 ore Modalità didattiche: lezioni frontali, laboratori, analisi di casi, esercitazioni, project work, visite guidate, stage nelle imprese del settore (anche all’estero). !1 PIANO DEGLI STUDI - PRIMA ANNUALITÁ (2016-2017) Ambito nazionale Unità formative Moduli Accoglienza - Patto formativo 1. Inglese e inglese tecnico di settore Ore totali 3 Ore singolo Aula Project Stage elemento Laboratorio work 3 3 1.1.1 Lingua inglese 26 26 1.1.2 Inglese tecnico di settore 30 30 1.2.1 Lavorare in gruppo 10 10 1.2.2 La gestione dei conflitti 12 12 1.2.3 La soluzione dei problemi 12 12 56 1. Ambito linguistico, comunicativo, relazionale 1.2 Lavorare in team Elementi unità formative Moduli 34 3.1 La normativa di riferimento 12 12 3.2 Il sistema integrato di qualità sicurezza ambiente 10 10 22 3 Ambito giuridico ed economico 3.1 Il mercato del lavoro: sicurezza, qualità e normativa di riferimento. Sintesi dei contenuti Aspetti sintattici e grammaticali della lingua. La terminologia tecnica di settore utilizzata negli ambiti di lavoro. Le figure professionali. Tecniche e strumenti per gestire le fasi e le dinamiche all’interno di un gruppo. Le tecniche per affrontare le dinamiche del processo negoziale. Fasi e tecniche per affrontare e risolvere un problema (problem finding, problem setting, problem analysis, problem solving). La normativa di riferimento. La sicurezza sul posto di lavoro. Percorso di formazione specifica dei lavoratori ai sensi dell’art. 37, comma 1, lett. A) del D.Lgs 81/08. Normativa sulla privacy Dlgs 196/03 e sue successive modifiche e revisioni. !2 Ambito nazionale 4. Ambito organizzativo e gestionale Unità formative Moduli 4.1 La relazione con il cliente 4.2 Organizzazione aziendale Ore totali 15 10 Elementi unità formative Moduli Ore singolo Aula Project Stage elemento Laboratorio work 15 10 Sintesi dei contenuti 15 Il cliente: definizione e differenze tra azienda manifatturiera e di servizi. Comprensione delle richieste e del fabbisogno. Qualità del servizio negli aspetti di contenuto e di relazione. Competenze tecniche e relazionali. Stabilire una relazione di valore. Conoscere e profilare il cliente. Individuare i touch points e relativi “moments of truth. 10 I modelli organizzativi. L’organizzazione come strumento e non come scopo. La cultura aziendale. !3 SISTEMI E NETWORKING Ambito nazionale 5. Ambito tecnico professionale Unità formative Moduli 5.1 Introduzione ai sistemi informatici Ore totali Elementi unità formative Moduli 100 100 5.2.1 Introduzione al networking 5.2 Networking Ore singolo Aula Project Stage elemento Laboratorio work 90 50 40 50 Architettura dei sistemi di elaborazione. Sistemi operativi. Virtualizzazione. Introduzione agli aspetti di rete. Amministrazione dei sistemi. 50 Introduzione ai concetti di rete. Introduzione al networking. Configurare un sistema operativo di rete. Protocollo Ethernet. Layer di rete. Layer di trasporto. Indirizzamento IP. Subnettizzazione di reti IP. Layer applicativi. 40 Introduzione a reti switching e configurazioni di base. LAN Virtuali (VLAN). Comunicazione fra VLAN Concetti di routing (routing static e dinamico). Protocollo DNS e DHCP. Fondamenti di sicurezza in rete e Access Control List. Network Address Translation (NAT)-Reti Scalabili. Realizzazione di una rete di dimensioni medio-piccole. Il protocollo Spanning Tree. Aggregazione di link Individuazione di problemi sul Layer 2 della rete. Protocollo EIGRP. Protocollo OSPF. Gestione firmware sulle macchine. 170 5.2.2 Routing e Switching 80 40 Sintesi dei contenuti !4 5.3 La sicurezza dei sistemi informatici 30 30 20 10 Panoramica sulle principali tipologie di vulnerabilità dei sistemi informatici. Focus su web e sicurezza: CMS e plugin di terze parti come rischi per la sicurezza dei siti. Come evitare le SQL injection. Come evitare lo SPAM con l’uso di script per l’invio di e-mail. PROGRAMMAZIONE Ambito nazionale 5. Ambito tecnico professionale Unità formative Moduli 5.4 Ciclo di sviluppo dei sistemi software: concetti, processi e strumenti. 5.5 Introduzione alla programmazione Ore totali 90 75 Elementi unità formative Moduli Ore singolo Aula Project Stag elemento Laboratorio work e 90 75 50 35 Sintesi dei contenuti 40 Introduzione alle metodologie di sviluppo, UML come linguaggio di modellazione, alle problematiche relative al Testing, al Deployment, all’integrazione di sistemi e ai relativi strumenti. 40 Concetti base della programmazione imperativa, procedurale, utilizzando Python come linguaggio di riferimento (l’ambiente per programmare in Python, grammatica e sintassi fondamentale). Controllo di flusso nella programmazione strutturata. Variabili, costanti, tipi di dati Array e strutture dati. Operatori aritmetici e logici. Istruzioni di assegnazione, di controllo, iterative. !5 5. Ambito tecnico professionale 5.6 Introduzione alla programmazione ad oggetti 5.7 Sviluppo di applicazioni Windows in ambiente Visual Studio C# 5.8 Programmazione web 80 60 90 80 60 90 40 35 50 40 Introduzione ai concetti di base della programmazione ad oggetti e concorrente, utilizzando Java come linguaggio di riferimento. La definizione di classe, estensione di una classe base. Classi, membri ed ereditarietà. Overload di metodi. Ereditarietà e costruttori. Polimorfismo. Definizione di interfaccia. Elementi di programmazione multithreaded e asincrona. 25 Introduzione al .NET Framework Introduzione al linguaggio C#. Sintassi e costrutti di base. Tipi di base ed enumeratori. Funzioni e parametri. Gestione delle eccezioni. Generics e Collections. Introduzione allo sviluppo di applicazioni Windows. 40 Definizione, raccolta e organizzazione dei contenuti. L’architettura di un sito web. Nozioni di usabilità, fruibilità e cross browsing. Linguaggi di meta programmazione HTML5, fogli di stile CSS, introduzione a Bootstrap. Javascript lato client. !6 Ambito nazionale 5. Ambito tecnico professionale Unità formative – Moduli 5.9 Tecnologia di accesso ai dati Ore totali 45 Elementi unità formative Moduli Ore singolo Aula Project Stage elemento Laboratorio work 45 20 Sintesi dei contenuti 25 Introduzione alle sorgenti dati ADO.NET e l’architettura connessa ADO.NET e l’architettura disconnessa Utilizzo di LINQ to SQL Introduzione all’Entity Framework Esempi di utilizzo di Entity Framework. DATABASE 5. Ambito tecnico professionale 5.10 Introduzione ai sistemi di basi di dati 90 90 60 30 Il Modello Relazionale. Progettazione Modello ER. Conversione Modello ER in Modello Relazionale. Algebra Relazionale. Il Linguaggio SQL. Definizione e Manipolazione dei Dati in SQL. Interrogazioni Nidificate in SQL Vincoli di Check, Asserzioni, Viste Stored procedures, Functions. Progettazione Concettuale. Progettazione Logica. Normalizzazione. 5.11 Database NoSQL 30 30 20 10 Database NoSQL (struttura e tecnologie). 1000 1000 600 400 !7 PIANO DEGLI STUDI - SECONDA ANNUALITÁ (2017-2018) Ambito nazionale Unità formative Moduli 1.1 Inglese e inglese tecnico di settore 1. Ambito linguistico, comunicativo, relazionale 1.2 Lavorare in team 2. Ambito scientifico e tecnologico 3 Ambito giuridico ed economico 2. Strumenti di analisi e gestione dei contenuti sul web 3.1 Il mercato del lavoro: sicurezza, qualità e normativa di riferimento Ore totali 55 21 Elementi unità formative Moduli Ore singolo Aula Project Stage elemento Laboratorio work Aspetti sintattici e grammaticali della lingua. Approfondimenti su terminologia tecnica. 1.1.1 Lingua inglese 20 20 1.1.2 Inglese tecnico di settore 35 35 1.2.1 Lavorare in gruppo 5 5 1.2.2 La gestione dei conflitti 8 8 1.2.3 La soluzione dei problemi 8 8 2.1 Strumenti di web analytics 35 20 15 2.2 CMS e CRM Open Source 35 20 15 3.1 La normativa di riferimento 22 12 10 3.2 Il sistema integrato di qualità sicurezza ambiente 10 10 3.3 Il mercato del lavoro 12 12 Le riunioni come strumento dei gruppi di lavoro. Le strategie negoziali. La trasformazione dei conflitti in opportunità. La tecnica del brainstorming. 70 44 Sintesi dei contenuti Strumenti di analisi dei dati. Cos’è il web dal punto di vista della sua calcolabilità. Introduzione a Google analytics. Metriche principali. I sistemi di gestione di contenuti (CMS). Sistemi di gestione di relazioni con i clienti (CRM). Privacy e internet dati sensibili, dati semisensibili, dati comuni, dati giudiziari. Sicurezza e affidabilità del prodotto/servizio. La sicurezza sul posto di lavoro. Il sistema Qualità. Le diverse tipologie contrattuali. La ricerca attiva del lavoro. I servizi di supporto all’inserimento lavorativo. !8 Ambito nazionale 4. Ambito organizzativo e gestionale Unità formative Moduli 4.1 La relazione con il cliente 4.2 Organizzazione aziendale 4.3 Project Management e ITIL Ore totali 20 10 35 Elementi unità formative Moduli Ore singolo Aula Project Stage elemento Laboratorio work 20 10 35 Sintesi dei contenuti 20 Preparazione psicologica: il corretto atteggiamento mentale per rapportarsi con efficacia al cliente. La comunicazione verbale, non verbale e paraverbale. Gestione postvendita: insoddisfazione e reclami. Valore economico e strategico della soddisfazione del cliente. Le cause del reclamo: conoscerle per gestirle. La richiesta/reclamo come opportunità di fidelizzazione. 10 Progettare l’organizzazione. Le tecniche per il governo del cambiamento (la tecnica del “come peggiorare”, del “come se”, dei “piccoli passi”). 35 Il project management: Il modello per la gestione dei progetti. La fasi del progetto (avvio, relazioni, costo, tempi, il CPM – Critical Path Method). Gli strumenti per la gestione di un progetto. Fondamenti di ITIL, linee guida sulla erogazione dei servizi. !9 SISTEMI E NETWORKING Ambito nazionale 5. Ambito tecnico professionale Unità formative – Moduli 5.1 Reti geografiche Ore totali 40 Elementi unità formative Moduli Ore singolo Aula Project Stage elemento Laboratorio work 40 20 Sintesi dei contenuti 20 Connettersi in Wide Area Network (WAN). Virtual Private Network L2L. Virtual Private Network Clienti. SSL VPN. Concetti di monitoraggio di rete e protocollo SNMP. Individuazione di problem sul Layer 3 della rete. Possibili architetture di rete. 50 L'uso delle variabili; Le strutture di controllo e cicliche. Cenni introduttivi alla programmazione ad oggetti in Python. Importazione e utilizzo di moduli esterni; Integrazione con moduli esterni in C, C++, Java. Il web con il Python. Le espressioni regolari in Python. Il modulo os: funzioni utili per manipolare file e processi. PROGRAMMAZIONE 5. Ambito tecnico professionale 5.2 Programmazione 85 85 35 !10 Ambito nazionale Unità formative – Moduli 5.3 Programmazione ad oggetti 5.4 Sviluppo di applicazioni Windows in ambiente Visual Studio C# Ore totali 75 95 Elementi unità formative Moduli Ore singolo Aula Project Stage elemento Laboratorio work 75 95 35 25 20 Sintesi dei contenuti 40 Java. Variabili, operatori, blocchi di istruzioni, regole. Controllo di flusso e distribuzione di oggetti. Gestione delle eccezioni e degli errori. Incapsulamento di oggetti: modificatori Public e Private. Java Threads. Programmazione ad Oggetti in Python. 50 Introduzione a UWP. Sviluppo di applicazioni con UWP. Studio dell’interfaccia utente. Accesso ai dati. Distribuzione di un’applicazione Windows. Principale libreria jQuery, con introduzione alla programmazione PHP e tecniche AJAX. 5. Ambito tecnico professionale 5.5 Programmazione web 125 125 55 20 50 !11 Ambito nazionale 5. Ambito tecnico professionale Unità formative – Moduli 5.6 Programmazione di sistemi IoT (Internet of Things) e sistemi embedded 5.7 Programmazione di applicazioni mobile Ore totali 125 110 Elementi unità formative Moduli Ore singolo Aula Project Stage elemento Laboratorio work 125 110 55 50 20 20 Sintesi dei contenuti 50 Introduzione all’Internet of Things. Aspetti base: Data from analog sensors. I2C vs SPI. GPIO. Internet connected application. Protocolli di comunicazione. IoT ed il Cloud: Azure Service Bus. Azure Event Hubs. Azure IoT Suite. Azure IoT HuB. Introduzione ai sistemi embedded. Tecniche di programmazione di sistemi embedded: modelli a macchine a stati finiti sincrone e ad eventi; modelli a task e ad eventi; supporti e tecniche basate su Sistemi Operativi Embedded e Real-Time. 40 Funzionamento dei nuovi device. I sistemi operativi per mobile. I principali linguaggi mobile: Android, iOS, Windows Phone. 60 Ambiti di applicazione per database NoSQL. Fondamenti di strutturazione di database NoSQL. DATABASE 5.8 Database NoSQL 90 90 30 1000 1000 520 80 400 !12