Campus Digitale

Corso Sviluppatore Software con metodologie DevOps per l'integrazione dei sistemi e l'utilizzo dei Big Data

Categoria:
Con stage
Finanziamento:
Finanziato/Gratuito
Durata corso:
600
Durata stage:
400
Corso Sviluppatore Software con metodologie DevOps per l'integrazione dei sistemi e l'utilizzo dei Big Data

Un esperto DevOps introduce processi, strumenti e metodologie che soddisfano le esigenze delle varie fasi del ciclo di sviluppo del software, dal coding al deployment, dalla manutenzione agli aggiornamenti. I team di sviluppo e quelli operativi hanno spesso competenze e obiettivi diversi.

I developer, ad esempio, puntano a introdurre nuove funzionalità in un'applicazione, mentre i team operativi devono preservare la stabilità di un'applicazione dopo il suo rilascio.

L’obiettivo del progetto è rispondere all’esigenza crescente da parte del mondo delle imprese del comparto IT ma non solo, di profili professionali in grado di applicare metodologie DevOps.

L' approccio DevOps punta all'unificazione e all'automazione dei processi, e gli specialisti DevOps sono indispensabili per gestire sia il codice sia la manutenzione e la gestione applicativa. Per svolgere queste attività, occorre non solo padroneggiare i cicli di progettazione degli applicativi e i linguaggi di sviluppo del codice, ma conoscere anche il set di pratiche e di cambiamenti culturali supportati da strumenti e processi di Lean Management che costituiscono il DevOps

Organizzazione del corso

  • DURATA: 8 mesi (1000 ore totali – 600 teoria + 400 stage)
  • IMPEGNO: per la fase d'aula 30 ore a settimana in presenza, dal lunedì al giovedì dalle 9.00 alle 18.00 nella sede IFOA di Milano Bovisa, in Via Durando 38
  • STAGE: aziende del comparto IT presso aziend del settore IT
Richiedi info

A chi è rivolto

Il corso è rivolto a giovani, residenti o domiciliati in Lombardia, che siano in possesso di uno dei seguenti titoli di studio, secondo quanto indicato all’art. 10 del DPCM del 25 gennaio 2008:

  • diploma di istruzione secondaria superiore;
  • diploma professionale di tecnico di cui al D.Lgs 17/10/2005, n. 226, art. 20, comma 1, lettera c, ovvero attestato di competenza di III livello europeo conseguito nei percorsi di IeFP antecedenti all’anno formativo 2009/2010;
  • in possesso dell’ammissione al quinto anno dei percorsi liceali, ai sensi del D.Lgs 17/10/2005, n. 226, art. 2, comma 5, o non in possesso del Diploma di Istruzione Secondaria Superiore, previo accreditamento delle competenze acquisite in precedenti percorsi di istruzione, formazione e lavoro successivi all'assolvimento dell'obbligo di istruzione di cui al regolamento adottato con Decreto del Ministro della Pubblica Istruzione n. 139 del 22 agosto 2007.

Cosa imparerai a fare

  • Individuare gli strumenti di sviluppo del software per creare un prodotto conforme alle specifiche progettuali richieste dal cliente
  • Conoscere e applicare i più diffusi linguaggi di programmazione, le principali regole della programmazione strutturata, le diverse tipologie di applicazioni software
  • Gestire i processi principali di Networking e di Cybersecurity
  • Sviluppare componenti per applicazioni distribuite (Web e Mobile)
  • Pianificare e gestire i flussi operativi di Continuous Integration / Continuous Deployment
  • Gestire l’interazione tra componenti dell’architettura e integrare API (Application Programming Interface)
  • Interagire con i database, sia SQL che NoSQL
  • Effettuare test di funzionamento delle soluzioni in esercizio
  • Gestire la manutenzione delle applicazioni e produrre la relativa documentazione
  • Supportare i processi aziendali di Digital Transformation

Contenuti del corso

  • Personal empowerment e approccio al MDL

    48 ore

    • Sviluppo delle Capacità comunicative
      • Definizione dello stile comunicativo: aspetti verbali, non verbali, para verbali
      • Personal storytelling: raccontare con efficacia se stessi
      • Definizione di ascolto attivo, comunicazione efficace, conflitto interpersonale
      • Consapevolezza dell'uso della comunicazione per costruire un'identità condivisa
    • Problem Solving
      • La definizione delle priorità,
      • La fase di semplificazione della situazione (scomposizione di situazione complesse in situazioni più facilmente maneggevoli)
      • La fase di individuazione della causa “vera” (analisi del problema reale)
      • La fase di identificazione della soluzione “ottimale” e di presa della decisione (decision making),
      • La fase di prevenzione dei problemi potenziali (rischi)
    • Il sistema Impresa
      • Azienda come sistema efficace ed efficiente
      • Obiettivi e risorse dell’organizzazione: mission, vision, valori e cultura aziendale
      • Il settore di riferimento: caratteristiche delle aziende IT, tipologie di servizi offerti, tipologie di clienti
      • Tipologie di contratti, fonti documentali
      • L’organigramma: poteri e responsabilità
      • Ruolo e flussi di lavoro e di comunicazione
      • Gli stili di leadership e di gestione delle persone in azienda
      • Know-how e comportamenti organizzativi
      • Cenni sul Sistema Qualità, principi e documenti utilizzati
      • Tracciamento delle attività, reportistica in uso
      • Criteri di valutazione della produttività in base al ruolo
    • Team Working
      • La consapevolezza del proprio ruolo
      • Lavorare per obbiettivi comuni e non individuali
      • La comunicazione assertiva ed efficace
      • Il concetto di responsabilità diffusa
      • Obiettivi lavorativi individuali e di squadra
      • Migliorare l’integrazione all’interno dei team di lavoro
      • Sviluppare le competenze relative alla responsabilità in ambito lavorativo, il lavoro di squadra, la fiducia in un ambiente di lavoro, la creatività
  • Sicurezza e salute sui luoghi di lavoro

    8 ore

    • UF 2 - Sicurezza e salute sui luoghi di lavoro - 8 ore
      • Sicurezza generale dei lavoratori
        • Concetto dirischio
        • Concetto didanno
        • Concetto diprevenzione
        • Concetto diprotezione
        • Organizzazione della prevenzione aziendale
        • Diritti, doveri e sanzioniper i vari soggetti aziendali
        • Organi di vigilanza, controllo e assistenza
      • Sicurezza specifica rischio basso
        • Rischi specifici legati all'attività lavorativa
        • DPI
        • Movimentazione manuale dei carichi
        • Utilizzo scale portatili
        • Rischio chimico
        • Tutela delle lavoratrici madri
        • Incidenti stradali
        • Near miss
        • Utilizzo di videoterminali
        • Stress lavoro-correlazione
        • Gestione delle emergenze
  • Elementi di statistica e analisi dei dati

    28 ore

    • Elementi di matematica applicata alla statistica
      • Rilevazione e rappresentazione dati
      • Curva Gaussiana, Media, Moda, Mediana, Varianza, Deviazione STD
      • Intervalli di confidenza, Indici di dispersione, Probabilità
    • Utilizzo del foglio elettronico per analisi dati
      • Formule: Tipologia, inserimento, indirizzi relativi – assoluti - misti
      • Funzioni: Generalità e uso delle principali Matematiche, Logiche e Riferimento, anche nidificate
      • Analizzare precedenze e dipendenze, Controllo celle
      • Errori di formule e loro valutazione
      • Formattazione condizionale e avanzata a elenchi
      • Definire e applicare Filtri e Ordinamento dati anche in modalità avanzata; Tabella; Subtotale
      • Gestione dati: Importare file testo o web in Excel
      • Grafici: Definizione, selezione dati, individuazione tipo, tipologia numerica, editing, tipologia temporale
      • Analisi dati: Raggruppare/Separare le strutture dati; inserimento guidato dati;  Convalida dei dati; Consolida
      • Tabella pivot – Dashboard
  • Inglese tecnico

    32 ore

    • Ripasso della logica della lingua inglese: i tempi verbali visti come un sistema
      Programmare attività aziendali: ripasso futuro dei verbi, esprimere obiettivi/programmi
    • Descrivere prodotti/servizi: ordine di aggettivi, forme/materiali, descrizione di funzione e utilizzo
    • Parlare di idee: passato semplice/continuo, sequenze sostantivo/aggettivo, partecipare/gestire riunioni, esprimere idee/opinioni
    • Innovazione: seguire/fare una presentazione, preposizioni di tempo, verbo al passivo, vocaboli per esprimere
    • Terminologia tecnica di settore nell’ambito dell’ICT
  • Sistemi Operativi e introduzione al networking

    54 ore

    • Sistema operativo Windows: funzionalità del sistema operativo, requisiti del cliente, aggiornamenti del S.O.,
    • Installazione di base di Windows, opzioni di installazione personalizzate, sequenza di avvio di Windows
      Configurazione di Windows. Pannelli di controllo
    • Amministrazione del sistema: Strumenti amministrativi, Utilità di sistema, Gestione del disco,  Installazione e configurazione delle applicazioni
    • Command Line Interface di Windows: comandi CLI del file system, del disco, di sistema e attività
    • Introduzione al mondo Linux: distribuzioni e loro caratteristiche, applicazioni e licenze open source
    • Installazione del sistema operativo,
      La linea di comando:  shell e i comandi base, filese e cartelle, archiviazione e compressione
    • Configurazioni di base del sistema
    • Scripting: creazione di uno script di comandi
    • Gestione degli utenti: concetti base ed identificazione del tipo di utente
    • Gestione di processi e packaging
    • Accesso ai files: gestione di proprietà e permessi 
    • Permessi speciali : cartelle e files speciali, links di accesso ai files
    • Tecniche comuni di manutenzione preventiva per i S.O.:  piano di manutenzione preventiva, backup e ripristino, problemi comuni e soluzioni
    • Introduzione al networking: componenti e tipi di rete, tipi di connessione Internet
    • Protocolli, standard e servizi di rete: Protocolli del livello di trasporto, Numeri di porta dell'applicazione, Protocolli wireless, Servizi di rete
    • Dispositivi di rete , cavi e connettori in rame e in fibra
    • Connessione da dispositivo a rete: indirizzamento di rete, configurare una scheda NIC, configurare una rete cablata e wireless, configurazione di un dispositivo IoT
    • Il processo di risoluzione dei problemi di rete di base
    • Reti Windows: condivisione in rete e mappatura delle unità, condivisione di risorse locali, configurare una connessione di rete cablata, interfaccia di rete wireless, protocolli di accesso remoto, desktop remoto e assisenza
    • Stampanti: caratteristiche e capacità, connessioni stampante, installazione, configurazione e aggiornamenti
    • Condivisione di stampanti: impostazioni per la condivisione, server di stampa
    • Introduzione alla Virtualizzazione
    • Cloud Computing: Applicazioni, Servizi cloud
  • Sicurezza informatica: Network Security, Cybersecurity

    32 ore

    • Minacce alla sicurezza: Malware, Prevenzione del malware, Attacchi di rete
    • Procedure di sicurezza: Politica di sicurezza, Protezione di una postazione di lavoro, Protezione e distruzione dei dati
    • Assegnazione del ruolo di administrator, Gestione di utenti e gruppi
    • Autenticazione, Autorizzazione e Accounting (AAA)
    • Liste di controllo degli accessi (ACL)
    • Tecnologie firewall, Firewall con criteri basati su zone
    • Tecnologie Intrusion Prevention System, Funzionamento e implementazione IPS, Sicurezza degli endpoint
    • Sicurezza di livello 2: Servizi crittografici, Integrità e autenticità di base, Crittografia a chiave pubblica
    • VPN: implementazione di una VPN IPsec site-to-site con CLI
    • Test di sicurezza della rete
    • Criminali informatici contro specialisti della sicurezza informatica
    • Le tre dimensioni del Cubo della sicurezza informatica: confidentiality, integrity, and availability
    • Domini di sicurezza informatica
    • Protezione di un dominio di sicurezza informatica: Sistemi e dispositivi di difesa, Rafforzamento del server, Rafforzamento della rete, Sicurezza fisica e ambientale
    • Comprendere l'etica del lavoro nella sicurezza informatica
    • Architettura cloud: Sicurezza dell'infrastruttura per il cloud, Gestione del rischio, Sicurezza dei dati per il cloud, Sicurezza delle applicazioni e gestione delle identità
  • Logiche di programmazione e basi di programmazione a oggetti

    24 ore

    • Problemi e algoritmi
    • Aplicazioni per rappresentazione di algoritmi (es. Flowgorithm)
    • Variabili, assegnazioni, calcoli
    • Algebra booleana, Operatori logici, Sequenze
    • Selezione e cicli
    • Scomposizione e metodi
    • Array e Stringhe
    • Algoritmi notevoli
    • Evoluzione dalla programmazione procedurale alla programmazione ad oggetti
    • Introduzione Programmazione ad Oggetti
    • Introduzione concetti sull'OOP: incapsulamento, ereditarietà, polimorfismo, introspezione
  • Sviluppo software con Python

    68 ore

    • Introduzione a Python come linguaggio di programmazione universale: versioni di Python e sviluppo del linguaggio; Strumenti e IDE necessari per iniziare a programmare in Python.
    • Tipi di dati, variabili, operazioni di input-output di base, operatori di base: come scrivere ed eseguire il primissimo programma Python; Operatori ed espressioni; Variabili; Operazioni di I/O di base in Python.
    • Valori booleani, esecuzione condizionale, cicli, elenchi ed elaborazione di elenchi, operazioni logiche e bit a bit: Tipo di dato booleano; Operatori relazionali in Python; Processo decisionale if, if-else, if-elif-else; Cicli whhile e for; -Operazioni bit a bit;
    • Liste in Python: costruzione, indicizzazione, slicing e manipolazione del contenuto; algoritmo di ordinamento a bolle;
    • Funzioni: Strutturazione del codice e concetto di funzioni; Chiamata e restituzione di un risultato da una funzione; Name scopes e variabile shadowing;
    • Tuple, dizionari ed elaborazione dei dati: scopo, costruzione e utilizzo;
    • Moduli, Pacchetti e PIP: Cos'è un modulo; Importazione e utilizzo dei moduli; Alcuni utili moduli Python;, Costruzione e utilizzo di pacchetti;- PIP-il coltellino svizzero per la manutenzione
    • Eccezioni, Stringhe, Metodi String e List: Caratteri, stringhe e standard di codifica; Stringhe vs. liste; Elenco metodi; Metodi stringa; Gestione errori di runtime; Controllo del flusso di errori utilizzando try except; Gerarchia delle eccezioni.
    • Programmazione orientata agli oggetti in Python: - Concetti di base OOP; Classi, oggetti, proprietà e metodi; Ereditarietà e polimorfismo; Eccezione come oggetto.
    • Lavorare con filesystem, alberi di directory e file;
    • Moduli della libreria standard Python selezionati (os, date, datetime, calendar).
  • Sviluppo di applicazioni con Java

    68 ore

    • Introduzione al paradigma OOP, piattaforma Java, versioni ed edizioni
    • Configurazione dell’ambiente di sviluppo (JDK)
    • IDE (a scelta del docente)
    • Primo programma Java
    • Variabili e tipi di dato, Casting
    • Operatori: assegnamento, aritmetici, unari, relazionali, logici, bitwise
    • Istruzioni condizionali
    • Cicli: while, for, do-while
    • Altre tipologie di dati: Enumerazioni, Array, String e Array of string, Multidimensional Array, ArrayList
    • Classi: dichiarare una classe
    • Metodi: getter e setter
    • Costruttori, uso della parola chiave this
    • Oggetti: creazione e utlizzo
    • Ereditarietà: sottoclassi e superclassi
    • Polimorfismo: Overloading e Overriding
    • Incapsulamento
    • Classe String: uso e gestione delle stringhe, Classi StringBuffer e StringBuilder
    • Gestione della memoria: Garbage Collection
    • Package e visibilità: public, private, protected
    • Documentazione del codice, uso dei commenti JavaDoc
    • Autoboxing e unboxing
    • Classe java.util
    • Errori ed eccezioni: tipi e gestione (Runtime e Checked)
    • Sintassi del try with resource di Java
    • Leggere, creare e scrivere file
    • Introduzione alle Interfacce
    • Introduzione a JDBC e accesso a DBMS
  • Web app e applicazioni Mobile

    72 ore

    • Introduzione alle applicazioni web, panoramica tecnologie più utilizzate
    • Aspetto delle pagine web: HTML + CSS
    • Linguaggio di script e sua funzione: Javascript
    • HTML: elementi strutturali della pagina web, editors, inserimento di grafica, animazioni, video e link, inserimento di tabelle, liste e creazione di un menu di navigazione
    • Introduzione a CSS: applicare lo stile alle pagine web
    • CSS: sfondi, colori, posizione nella pagina, margini, padding, round borders, dropdown menù, rasformazioni 2D 3D, animazioni
    • Uso delle Form in HTML5
    • Introduzione a Bootstrap: cosa è e a cosa serve, framework, installazione, grid layout, classi, stili
    • Manipolazione maschere per immagini
    • Nozioni base HttpRequest, HttpResponse, Http Session
    • Concetto di sito responsive
    • Introduzione a JAVASCRIPT: rendere interattiva la pagina web
    • JAVASCRIPT: tipi di dati, variabili, oggetti, elementi per il controllo di flusso, Document Object Modul, caricamento remoto di una risorsa, URL, URI, ORIGIN, definizione policy cross-origin
    • JAVASCRIPT: oggetti, costruttore, varie metodologie di gestione eventi, librerie Jquery
    • File scambio dati: JavaScript Object Notation
    • Lavorare con il JSON: Get Post e Put
    • Cenni su Android sTudio: editor e impostazione delle variabili di sistema
    • Panoramica su View, ViewGroup, widget e risorse di un'app
    • Studio, realizzazione e test di una prima, semplice app
    • Testing di app con emulatori e dispositivi mobili reali
    • Introduzione al linguaggio Java-Based Kotlin per lo sviluppo di una applicazione mobile mediante uso dell’IDE IntelliJ Idea: Funzioni, Classi, istanze, Extension function ed espressioni lambda, Stringhe. Array, Clicli ed espressioni condizionali.
  • Database e linguaggio SQL

    32 ore

    • Introduzione ai dati: concetto di dato, informazione e informazioni strutturate
    • Database: definizione, utilità e vantaggi
    • DBMS (scelto dal docente): vantaggi svantaggi e tipologie sul mercato elementi dell’interfaccia (sicurezza, database, tabelle, query)
    • Progettazione di base dati: dall’ideazione all’estrazione di informazioni
    • Modello ER: concetto di entità, relazione, tipologie di relazioni, cardinalità 1:1- 1:N – N:M.
    • Modello logico: regole di derivazione per tradurre da modello ER
    • Introduzione concetto di Primary Key e Foreign Key  e integrità referenziale
    • Creare le tabelle, PK e FK da interfaccia
    • Introduzione a SQL: sintassi per la creazione/cancellazione/modifica di un database e di una tabella.
    • Query di selezione semplice
    • Forme normali: definizione, concetto di dipendenza funzionale
    • Interrogazioni SQL: query concetto di selezione, proiezione e prodotto cartesiano
    • Funzioni di aggregazione: MIN MAX AVG COUNT
    • Ordinamento: Order by desc e asc
    • Raggruppamento: Group by e having. Differenze having e where
    • Query nidificate, JOIN e differenze inner join, left join, right join e full outer join, self join, Distinct e differenze con group by
    • Creazione di viste: comando view
    • Interrogazioni SQL: EXISTS, NOT, ANY, ALL, UNION
  • Metodologie: da Agile a DevOps

    50 ore

    • Modelli di processo, sviluppo e specifica dei requisiti software (IEEE830) introduzione a UML
    • Modelli a cascata, RUP, Agili
    • Cos’è e a cosa serve il Mockup
    • Diagramma delle classi/oggetti, dei package/casi d’uso, di stato/attività/sequenza
    • Metodologia Agile: superamento del modello a cascata, collaborazione tra i team e gli utenti finali, approccio incrementale (suddivisione del progetto in piccoli moduli per lavorare in parallelo con feedback costanti), monitoraggio dell’avanzamento del progetto durante tutto il ciclo di sviluppo (controllo empirico processi)
    • Scrum framework agile per la gestione del ciclo di sviluppo del software
    • Limiti e svantaggi di Agile: scadenze mancanti, obiettivi di budget, mancato coordinamento tra il team di sviluppo e team operativo, componenti software incompatibili dopo il completamento (nuove funzionalità che interrompono le vecchie funzioni.)
    • Metodologia DevOps: dalla collaborazione tra il team di sviluppo e gli utenti finali alla collaborazione collettiva tra il team di sviluppo e operativo.
    • Obiettivo DevOps: aumentare la capacità di un’organizzazione di fornire servizi e applicazioni a un ritmo relativamente più veloce.
    • Cultura di Agile e DevOps
    • Dimensione del team per Agile eDevOps
    • Automazione in Agile e DevOps
    • Comunicazione per Agile e DevOps
    • Esempi di applicazione
  • Integrazione di componenti: utilizzo di API

    44 ore

    • Modelli di progettazione del software.
    • Controllo della versione tramite GIT
    • Nozioni di base sulla codifica Best practice
    • Revisione e test del codice
    • Comprensione dei formati dei dati
    • Comprensione e utilizzo delle API
    • Stili di progettazione e stili architetturali API
    • Introduzione alle API REST
    • Autenticazione a un'API REST
    • Interazione dell’API utilizzaando la riga di comando, gli strumenti grafici e il codice Python
    • Limiti e risoluzione dei problemi dell'API
    • Comprensione delle scelte di distribuzione con diversi modelli
    • Tecnologia container per distribuire una semplice applicazione
    • Integrazione continua/distribuzione continua (CI/CD)
    • Reti per lo sviluppo e la sicurezza delle applicazioni in un ambiente cloud
    • Protezione delle applicazioni
  • Big Data: Data Science e AI

    40 ore

    • Introduzione alla Data Communication and Visualization con Tableau
    • Connettersi ai dati e modificare un'origine dati
    • Ordinare, filtrare e raggruppare i dati
    • Utilizzare l'area di lavoro di Tableau per creare visualizzazioni
    • Crea una gamma di tipi di grafici essenziali per l'analisi
    • Creare strutture di calcolo di base, inclusi elaborazione di dati tabellati
    • Creare dashboard interattive per rivelare informazioni dettagliate sui dati
    • Descrivere come condividere e pubblicare visualizzazioni

Come Funziona

Il percorso ha una durata di 1000 ore ed è composto di una parte di aula di 600 ore e 400 ore di stage  curricolare presso aziende del settore IT.

Quanto costa e modalità di pagamento

Il corso è completamente gratuito.

Certificazioni

  • Certificato di specializzazione tecnica superiore

Estremi finanziamento

AVVISO PUBBLICO PER LA PRESENTAZIONE E SELEZIONE DI PROGETTI DI ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE (IFTS) DA REALIZZARE NELL'A.F. 2023/2024
PR Lombardia FSE+ 2021-2027
Priorità 2 “Istruzione e Formazione”
Obiettivo specifico ES04.6
Azione f.2 “Sostegno ai percorsi di istruzione post-secondaria”

Enti finanziatori

Corso Sviluppatore Software con metodologie DevOps per l'integrazione dei sistemi e l'utilizzo dei Big Data

Richiedi info

Compila il form sottostante per ottenere il download della scheda di dettaglio del corso.

Grazie!
Scarica la scheda per scoprire tutti i dettagli del corso.

Download

Compila il form sottostante per iscriverti all'evento di presentazione.