Sedi e orari

Firenze 

Dal 4 Marzo 2019 (5 settimane full time) 

Dalle 9:30 alle 13:00 e dalle ore 14:00 alle 18:00 

 

 

Premesse

ESIS S.r.l. è una società che da trent’anni opera nel settore dell’Information Technology, fornendo servizi professionali di consulenza informatica e di sviluppo software su misura per ogni cliente.

Per ampliamento del nostro organico interno, stiamo selezionando candidati da inserire in un percorso formativo di 5 settimane finalizzato all’inserimento presso un nostro cliente di Firenze.

Obiettivi

Il Corso di Programmazione JAVA JEE SPRING sarà propedeutico all’inserimento nel mondo del lavoro.

Si tratta di un’occasione unica per entrare in contatto con una realtà di altissimo livello e per acquisire on the job competenze su tecnologie molto richieste nel mercato del lavoro.

Il candidato prescelto dovrà avere:

  • Forte passione per l’informatica e per la programmazione;
  • Flessibilità nell’apprendimento di nuove tecnologie;
  • Grande interesse per l’innovazione;
  • Grande motivazione ad entrare nel mondo del lavoro.

Skills richiesti

  • Laureandi o Laureati in Ingegneria Informatica, Informatica o affini;
  • Conoscenza base di Java e SQL;
  • Conoscenza base dei DB relazionali;
  • Grande motivazione ad entrare nel mondo del lavoro subito dopo il corso;
  • Età non superiore a 32 anni.
  • Atteggiamento positivo e determinato;
  • Massima serietà.

Piano di lavoro

Prima parte: Object Oriented Programming  

La programmazione strutturata

  • Come affrontare un problema dato
  • Il flusso di esecuzione come diagramma a blocchi
  • L’input e l’output dei dati
  • Il flusso di esecuzione come pseudo codifica (Java)
  • Trasformare il digramma a blocchi in pseudo codifica

 

Introduzione al paradigma OO

  • Caratteristiche dei linguaggi Object Oriented
  • La compilazione
  • Il ruolo dalla macchina virtuale, portabilità e riusabilità
  • Vedere il mondo “ad oggetti”
  • Il concetto di proprietà e operazioni di un oggetto
  • Distinzione tra classificazione e oggetti classificati
  • Caratteristiche di un oggetto
  • Ciclo di vita di un oggetto
  • Passaggio di stato di un oggetto

 

Programmazione strutturata

  • Il concetto di variabile e costante
  • Il concetto di tipo
  • L’operatore di assegnazione
  • Gli operatori aritmetici
  • Gli operatori logici e gli altri operatori
  • I costrutti condizionali e le condizioni
  • I costrutti iterativi
  • I costrutti di salto
  • Introduzione alle strutture dati complessi
  • Vettori e matrici

 

Oggetti e classi

  • Classi e oggetti
  • Costruire oggetti
  • Metodi e stato degli oggetti
  • Costruttore
  • Modificatori e costanti
  • Incapsulamento dei dati
  • L’Overloading delle operazioni

 

Seconda parte: Java base Programming in Java

 

Introduzione a java

  • bytecode, virtual machine, class loader, gestione memoria
  • Pacchetto di sviluppo: compilatore, JVM
  • Editor: Eclipse Creare un progetto in Eclipse e gestire le dipendenze
  • La funzione main
  • Code convention
  • Il programma hello world

 

La struttura del linguaggio

  • Sintassi base
  • Commenti
  • Costrutti del linguaggio
  • Arrays
  • Classi: attributi, metodi
  • Variabili e metodi d’istanza, Variabili e metodi statici
  • Oggetti istanziati dalle classi
  • Le costanti in java
  • Le stringhe alfanumeriche in java
  • Le classi di utility della libreria base
  • Date e calcoli con date
  • Un esempio di classe: la classe Impiegato
  • Costruttori, getter/setter
  • Il metodo toString()
  • Incapsulamento

 

Astrazioni

  • Concetto di Ereditarietà
  • Sintassi delle sottoclassi
  • La Classe java.lang.Object
  • Binding dinamico
  • Polimorfismo
  • Overloading e Overriding
  • Le Classi astratte ed interfacce

 

Gestione degli errori

  • Le eccezioni in java con try/catch/finally
  • Meccanismo di propagazione
  • Gestione delle eccezioni
  • Le classi Exception, Error, Throwable
  • Scrivere eccezioni personalizzate

 

Terza parte: Java – Programmazione avanzata

 

Il framework delle Collection

  • L’Iterator
  • Esempi di List: LinkedList e ArrayList
  • Il concetto di Set
  • Esempi di Set: HashSet e TreeSet
  • Cenni sulle Mappe

 

Input/Output in java

  • La classe Properties e il resource bundle
  • Le gerarchie delle classi Stream
  • Stream base e stream filtrati
  • Stream orientati ai caratteri
  • Lettura da tastiera
  • Stream orientati agli oggetti
  • La serializzazione
  • Esercitazione

 

Lambda Expression

  • Introduzione alle espressioni lambda di java 8
  • Le interfacce funzionali
  • Sintassi e semantica
  • Casi di utilizzo
  • Introduzione ai nuovi Stream di java 8

 

Quarta parte: Oracle DB SQL e Persistenza

 

Introduzione al mondo dei DB

  • I DBMS ed il modello relazionale
  • Il diagramma E-R e la progettazione di un DB
  • Il mapping tra E-R e tabelle

 

Il linguaggio SQL

  • Caratteristiche fondamentali del linguaggio SQL
  • Classificazione di tutti comandi SQL e dei sotto linguaggi
  • Sottolinguaggio DDL (CREATE, ALTER, DROP e TRUNCATE)
  • Sottolinguaggio DML (INSERT, DELETE, UPDATE e MERGE)
  • L’istruzione SELECT: concetto di selezione e proiezione, costruzione di SELECT complesse
  • Funzioni di riga e di gruppo, NULL e funzioni NVL, NVL2, NULLIF e COALESCE,
  • I tipi possibili di JOIN
  • Subquery, 1-Row, multi-row e operatori ALL e ANY
  • Operatori insiemistici
  • Concetti di base sulle performance dei comandi SQL e piano di esecuzione

 

Le transazioni

  • concetto di transazione e di consistenza (read consistency)
  • lock
  • Sottolinguaggio DTL (COMMIT, ROLLBACK e SAVEPOINT)

 

Java JDBC

  • Architettura generale di JDBC
  • Il concetto di Driver ed il DriverManager
  • Le connessioni
  • Eseguire le istruzioni SQL con Statement e PreparedStatement
  • Navigare i risultati con ResultSet
  • ResulSetMetaData per i metadata delle tabelle
  • Il pattern DAO: modalità di accesso a risorse dati
  • I servizi di business e il rapporto con i DAO

 

Quinta parte: Java – Programmazione Web

 

Introduzione alle web applications

  • Introduzione al protocollo HTTP
  • Le regole e le tecnologie delle interazioni sul web
  • Il web server
  • Tecnologie client side e server side per le web applications

 

HTML5 e programmazione client

  • Introduzione al linguaggio HTML5
  • I principali tag ed il loro significato
  • Il modello DOM delle pagine
  • Introduzione a Javascript
  • Uso di Javascript nelle applicazioni Web
  • Javascript e Ajax
  • Introduzione ai framework javascript
  • Caratteristiche e servizi di un framework javascript
  • Il modello di invocazione dei servizi
  • Introduzione ai fogli di stile con CSS3

 

Introduzione alla architettura JEE

  • Le applicazioni distribuite
  • Tecnologie disponibili nella piattaforma JEE
  • Architetture delle applicazioni web based
  • Il punto di vista di Java: il web container JEE

 

Web server

  • Funzionalità di base di un web server
  • Application server e le applicazioni web dinamiche
  • Il container e lo standard JEE
  • Configurazione del web serveri
  • Deployment di applicazioni web JEE

 

Java Servlet/JSP

  • Introduzione alla scrittura di una servlet
  • Panoramica delle API Servlet
  • Realizzare e configurare una Servlet
  • Ciclo di vita di una servlet
  • Gestione di sessioni e cookies
  • Definizione e creazione di una JSP

 

Custom tag e JSTL

  • Il concetto di custom tag
  • Importare una liberaria di suctom tag
  • Introduzione alle Java Standard Tag Library e loro classificazione
  • Principali tags della JST

 

Pattern di design e modello MVC

  • Il concetto di design pattern
  • I principali pattern utilizzati in JEE
  • Principi di base del modello MVC
  • Suddivisione dei compiti nel modello MVC
  • Principali pattern presenti nel modello MVC

 

Settima parte: il Framework Spring

 

Introduzione Spring

  • Caratteristiche e finalità
  • Le funzionalità chiave del framework Spring
  • L’ ApplicationContext e la gestione dei beans
  • Utilizzo del pattern IOC (Inversion of control)
  • La dependency Injection
  • Le annotazioni e la configurazione via annotations

 

Spring Web

  • Scrivere una applicazioni Java Web con Spring MVC
  • Le classi di tipo controller e loro configurazione
  • Gestione dei dati di modello
  • Validazione delle forms di inserimento
  • Gestione degli errori di validazione
  • Definizione di servizio REST
  • Scrivere una applicazioni Java Web con servizi REST

 

Spring persistence

  • La persistenza dei dati secondo Spring
  • JDBC template
  • Configurazione del datasource e injection del template
  • Gestione delle transazioni dichiarative
  • L’annotazione @Transactional
  • Gli attributi di propagazione
  • La gestione del rollback della transazione

 

Durata e organizzazione

Il corso ha una durata di 5 settimane e prevede formazione teorica, esercitazioni pratiche e case histories.

La partecipazione al corso avverrà previa selezione interna.

Come partecipare

Gli interessati al Master di Programmazione JAVA sono invitati a candidarsi inviando il proprio curriculum vitae e lettera motivazionale.

E’ necessario indicare in oggetto la seguente dicitura: “Candidatura Corso di Programmazione JAVA  JEE SPRING Firenze”.

CANDIDATI

Il tuo nome (richiesto)

La tua email (richiesto)

Il tuo numero di telefono (se desideri essere contattato telefonicamente)

Corso al quale sei interessato (richiesto)

Ti vuoi iscrivere o chiedere informazioni? (richiesto)

Se hai uno sconto inserisci qui il tuo codice

Scegli la città (richiesto)

Il tuo messaggio

Privacy (richiesto)
Ho letto l'informativa privacy

About the author

ESIS Italia