Corso Developer (Sviluppatore)
Obiettivi:
L’obiettivo del corso è formare la figura professionale dello Sviluppatore, un esperto specializzato nella realizzazione di soluzioni ICT, nella scrittura di specifiche dei prodotti ICT e nell’implementazione di applicazioni ICT.
A chi è rivolto
Il corso è rivolto a giovani tra i 18 e i 35 anni di età.
Cosa imparerai a fare
La figura in uscita sarà in grado di sviluppare il software in base alle specifiche definite, progettando e scrivendo codici.
Contenuti del corso
- Inglese tecnico e linguaggi di programmazione;
- Le caratteristiche dei manuali tecnici in lingua inglese;
- La sintassi dell’inglese tecnico;
- Termini e significati;
- Leggere e comprendere un manuale tecnico in lingua inglese;
- I White Paper e la documentazione tecnica;
- La comunicazione verbale e scritta in lingua inglese in contesti tecnici.
- Analisi dei requisiti del software.
- Le componenti di un’applicazione: linguaggio, base dati, ambiente operativo
- Concetti base della programmazione imperativa, procedurale;
- Controllo di flusso nella programmazione strutturata;
- Gli algoritmi: definizione, elementi descrittivi;
- Variabili, costanti, tipi di dati;
- Array e strutture dati;
- Operatori aritmetici e logici;
- Istruzioni di assegnazione, di controllo, iterative.
- Elementi di networking e sistemi operativi:
- Caratteristiche dei principali sistemi operativi client e server Windows e Linux;
- Amministrazione di account utente e computer, gruppi, accesso alle risorse;
- Dischi e memorizzazione dei dati;
- Concetti base di networking e comunicazioni: tipologie di rete, componenti, protocolli di comunicazione;
- Il protocollo TCP/IP;
- Apache/nGninx e PHP;
- Virtual hosting IP-based e Name-based;
- Servizi Web protetti su protocollo SSL.
- Programmazione Object Oriented e Design Pattern:
- L’approccio Object Oriented
- I concetti fondamentali dell'approccio OO
- Tipi di dati astratti
- Classi
- Ereditarietà
- Polimorfismo
- Binding dinamico
- Metodi e messaggi
- Vantaggi dell'OO e confronto con l'approccio strutturato
- Introduzione a design patterns
- Composizione di un pattern
- Elementi caratterizzanti del design pattern
- Linguaggio SQL e accesso al DBMS:
- Definizione di database e modelli di dati
- DBMS E RDBMS
- Traduzione di un progetto di database in un DB MySQL
- Chiavi e relazioni
- Forme normali
- Integrità referenziale
- Linguaggio SQL DML per selezione, raggruppamento e modifica dei dati
- Uso di Subquery
- Linguaggio SQL DDL
- SQL procedurale
- Costruzione di SQL lato server
- Linguaggio di programmazione Java:
- Controllo di flusso nella programmazione strutturata
- Gli algoritmi: definizione, elementi descrittivi
- Variabili, costanti, tipi di dati
- Array e strutture dati
- Operatori aritmetici e logici
- Istruzioni di assegnazione, di controllo, iterative
- Programmazione Object Oriented
- Sintassi di Java: variabili, operatori, blocchi di istruzioni, regole
- Controllo di flusso e distribuzione di oggetti: cicli e istruzioni condizionali
- Gestione delle eccezioni e degli errori: try-catch
- Incapsulamento di oggetti: modificatori Public e Private
- La definizione di classe, estensione di una classe base
- Overload di metodi
- Ereditarietà e costruttori
- Polimorfismo
- Definizione di interfaccia
- PYTHON
- Introduzione a PYTHON
- Installare e configurare Python e PIP
- Introduzione alla struttura del linguaggio, interprete Pythone e IDLE
- Le funzioni print e input, indentazione
- Variabili, commenti, numeri, operatori logici, stringhe, tuple, liste, dizionari, set e frozenset, tipi buil-in
- Istruzioni condizionali, cicli, istruzioni let/set/dict, funzioni
- Gestione delle eccezioni
- Gestione dei file
- Moduli e package
- Classi, ereditarietà, metodi speciali, overloading
- GUI su Python e framework da usare
- Approfondimenti su liberare Selenium, BeautifulSoup
- Robot Framework
- Test e Debug delle applicazioni
- Tecniche di testing e debug delle applicazioni
- Monitoraggio della performance
- Processi di Debug
- Documentare il Debug delle applicazioni
- Architettura di un sito web;
- Definizione, raccolta e organizzazione dei contenuti;
- Principi di usabilità e fruibilità;
- Il linguaggio HTML: i tag e la sua struttura;
- Formattare il testo, link, elenchi, tabelle e form;
- I nuovi elementi di struttura e i nuovi tag in HTML 5;
- L’aspetto dei contenuti tramite gli stili CSS: testi, liste, immagini, tabelle;
- I selettori CSS 3: classi e le pseudo classi, tag, id e composti;
- Nuove opzioni con CSS3: colori e sfondi;
- Document Object Model;
- Introduzione a JavaScript;
- Gli oggetti in JavaScript;
- Programmazione a eventi;
- Introduzione a jQuery;
- I plugin;
- Sviluppo di applicazioni web con Angular7.
- Introduzione ai database no-sql;
- Installazione Mongo DB;
- JSON BSON;
- Schema dinamico;
- Da relazionale ai documenti;
- Schema design;
- Operazioni CRUD;
- Aggiungere e cercare documenti;
- Maggiore di e minore di;
- Operatori;
- Update;
- Eliminare documenti.
- La qualità e affidabilità dei sistemi informativi;
- Tipologie e motivazioni degli attacchi;
- Software antivirus in uso;
- Sicurezza di archivi e database;
- Protezione delle applicazioni Web: autenticazione e autorizzazione;
- Gestire le transazioni da una pagina PHP;
- Gestire l'accesso a un'area riservata mediante autenticazione su database;
- Principali vulnerabilità e minacce presenti nelle soluzioni web;
- Elementi di una autovalutazione di vulnerabilità / rischi / impatti;
- Implicazioni organizzative e di modello in grado di indirizzare le minacce;
- Soluzioni tecnologiche disponibili;
- La Sicurezza del Cloud: rischi e minacce;
- Cloud Clauses e Cloud Profiles;
- Aggiornamento e manutenzione dei software.
- Azioni di accompagnamento di gruppo.
- Azioni di accompagnamento individuale.
Requisiti in ingresso
I candidati devono possedere i seguenti requisiti:
- Diploma scuola media superiore;
- Non avere in essere alcun contratto di lavoro ed essere iscritti al Centro per l’impiego;
- Essere residenti in un Comune della Regione Toscana e avere la cittadinanza italiana o di Paesi facenti parte dell’Unione europea.
Sbocchi occupazionali
Al termine del corso i partecipanti potranno trovare occupazione all'interno di start-up, multinazionali, agenzie web, portali di e-commerce, mobile-app e applicazioni web aziendali.
Certificazioni
- Certificato di qualifica professionale
Note
La durata complessiva del percorso formativo è di 600 ore, di cui 300 in stage presso aziende del settore di riferimento.
Possibilità di richiedere un finanziamento a copertura totale del costo tramite Voucher formativi Just in time per l’occupabilità della Regione Toscana.