Programmatore & sviluppatore Java
Programmatore & sviluppatore Java è un corso gratuito da 600 ore in alternanza scuola/lavoro con 300 ore di stage in Azienda. E’ rivolto a disoccupati maggiorenni, under-35, residenti o domiciliati in Liguria. Un’eccellente opportunità di acquisire competenze di primissimo livello e di fare esperienza nel mondo del lavoro presso Aziende leader nei rispettivi settori.

Graduatoria finale selezioni
Il corso è pensato per chi, possedendo conoscenze di base di programmazione, o con un background teorico ed accademico voglia acquisire familiarità con la pratica dello sviluppo di applicazioni e con i framework e gli strumenti di sviluppo più recenti per lo sviluppo di applicazioni web con Java. Lo scopo del corso è formare sviluppatori “full stack” in grado di contribuire alla realizzazione di applicazioni lato server o client e di fornire le basi fondamentali per poter evolvere le loro conoscenze su nuovi linguaggi e piattaforme di sviluppo.
La figura in uscita dal percorso PROGRAMMATORE E SVILUPPATORE JAVA avrà consapevolezza delle regole e delle caratteristiche del mercato del lavoro e dell’organizzazione aziendale secondo i modelli ed i principali elementi che contribuiscono al funzionamento delle imprese. Saprà applicare procedure ed istruzioni operative del Sistema di Qualità aziendale, discernendone i principi che lo ispirano. Opererà in sicurezza sui luoghi di lavoro utilizzando strumenti, attrezzature e dispositivi adeguati. Acquisirà competenze trasversali che è necessario avere per affrontare con successo il mondo del lavoro quali creatività, problem solving, capacità di ascolto e relazione, sperimentazione, propensione all’innovazione, flessibilità e adattabilità, resistenza allo stress, autonomia, capacità di lavorare in gruppo. Acquisirà le competenze di base sugli algoritmi e la programmazione applicando metodologie per la gestione del ciclo di vita del software. Sarà in grado di utilizzare metodologie e tecniche di test, adottare opportune metodologie, pattern e framework per lo sviluppo del codice, programmare con linguaggi Object Oriented e di scripting.
Gli allievi acquisiranno inoltre competenze relativamente ai sistemi operativi, alle architetture funzionali, protocolli e algoritmi per reti fisse e mobili. Configureranno reti di comunicazione: router e Switch. Acquisiranno conoscenze di base sui sistemi distribuiti, il Cloud computing e i relativi modelli di servizio inquadrando le problematiche di base della cybersecurity. Svilupperanno applicazioni Cloud basate sui principali Cloud Operating System, Web Services e metodi di accesso ai Dati, sistemi per l’elaborazione distribuita e SOA. Consolideranno infine le competenze acquisite in un contesto produttivo attraverso lo stage in azienda.

Scheda di sintesi
Durata
600 ore (di cui 300 di stage in azienda in alternanza scuola/lavoro)
Modalità
In presenza
Costo
Il corso è gratuito (finanziato da Regione Liguria)
Chi può partecipare
Chi non può partecipare
Competenze ingresso
Utilizzo fluido del PC. Ottima conoscenza della lingua italiana.
Impegno
Dal lunedì al venerdì
max 6 ore/giorno
Difficoltà
Attestato rilasciato
Al termine del corso gli allievi potranno sostenere l’esame per l’ottenimento della qualifica professionale avente codice ISTAT: 3.1.2.1.0 “TECNICO PROGRAMMATORE”.
Assenze
Consentite (ma sconsigliate) fino a 120 ore di assenza.
Iscrizioni
Dal 13/02 al 30/03 (16.30)

Selezioni
3-4-5 aprile 2023
Partenza corso
7 aprile 2023
Programma del corso
Fondamenti di Java e programmazione ad oggetti
- Introduzione a Java, tipi, variabili e funzioni
- Cicli e condizionali
- Classi, Interfacce ed oggetti
- Ereditarietà , Incapsulamento, e Polimorfismo
- Gestione delle eccezioni
- Strutture dati
- Programmazione funzionale, streams e lambda expressions
- Programmazione concorrente in Java
- Streams e IO
- Networking
Connessione a database
- Introduzione ai database e SQL
- Connessione a database con JDBC
- Introduzione all’ utilizzo di un ORM, JPA.
- Mappatura delle entita’
- Operazioni CRUD con JPA
- Querying
- Transazioni
JavaScript e Angular
- Introduzione a JavaScript
- Introduzione a TypeScript
- Fondamenti di Angular
- Componenti
- Espressioni
- Data Binding
- Direttive, custome e built in
- Eventi e Change Detection
Spring
- Introduzione a Spring Framework
- IoC e Dependency Injection
- Configurazione e Spring Boot
- Aspect Oriented Programming in Spring
- Accesso ai dati con JDBC
- Accesso ai dati con Hibernate
- Accesso ai dati con JPA
- Gestione delle transazioni
- Web Application con Spring MVC
- Validazione e formattazione
- Servizi REST
Fondamenti di programmazione in Java
- L’ ambiente di sviluppo, JSK e IntelliJ
- Funzioni e variabili
- Arrays
- Strutture di controllo del flusso
- Semplici algoritmi su arrays
- Primitive vs. Reference Types, Classi e Oggetti
- Class Design e incapsulamento
- Ereditarieta’ e Polimorfismo
- Gestione delle eccezioni
- Gestione del codice con Git
- Unit Testing
Programmazione avanzata con Java
- Il collection framework
- Algoritmi e strutture dati
- Lettura e scrittura su file
- Streams e lambda expressions
- Multithreading
- SOLID principles e Design Patterns
Database relazionali e SQL
- Introduzione ai database relazionali
- Database design e regole di normalizzazione
- Operazioni CRUD con SQL
- Join fra tabelle
- Subquery correlate e non correlate
- Set Operators
- Window Functions
- Views
Fondamenti di sviluppo backend e frontend
- Connessione Java-DB: JDBC programming
- Connessione Java-DB: ORMs, Hibernate e JPA
- Introduzione al web e al protocollo HTTP
- Frontend Web: HTML5
- Frontend Web: CSS
- Frontend Web: JavaScript
Sviluppo di applicazioni e servizi web con Java e Spring Framework
- Dependency Inversion e Dependency Injection
- Introduzione a Spring Framework
- Configurazione del progetto con Spring Boot
- Java web applications con Spring MVC e Thymeleaf
- Spring Data JPA
- Servizi Web REST style con Spring Boot
SPA con React
- Introduzione alle SPA applications
- Introduzione a React
- JSX
- Properties
- React hooks e mantenimento dello stato
- Chiamate HTTP con Axios
- Gestione dello stato con Redux
Lavoro di gruppo e approfondimenti
- Sviluppo progetto finale
Cos’è l’obbligo di istruzione
In Italia l'istruzione obbligatoriaha una durata di10 anni, da 6 a 16 anni di età, e comprende gli otto anni del primo ciclo di istruzione (scuola elementare e scuola media) e i primi due anni del secondo ciclo (DM 139/2007). L’adempimento dell’obbligo di istruzione (o scolastico) è finalizzato al conseguimento di un titolo di studio di scuola secondaria superiore o di una qualifica professionale di durata almeno triennale entro il 18° anno di età.
Come assolvere l’obbligo di istruzione
Dopo aver concluso il primo ciclo di istruzione, gli ultimi due anni di obbligo (da 14 a 16 anni di età), possono essere assolti attraverso la seguente modalità: 1) con la frequenza del primo biennio di uno dei percorsi di istruzione secondaria di secondo grado nelle scuole statali e paritarie (licei, istituti tecnici e istituti professionali); 2) nelle strutture accreditate dalle Regioni per la formazione professionale, compresi i percorsi di istruzione e formazione professionale (IeFP) triennali e quadriennali erogati dai Centri di formazione professionale accreditati dalle Regioni e dagli istituti professionali in regime di sussidiarietà.