IL NOSTRO CAMPO DI AZIONE

RICERCA
FORMAZIONE
LAVORO 

Per contattarci chiama il numero (+39) 081 562 1292 oppure scrivi alla nostra mail a info [ @ ] cosvitec.eu . Grazie!

ORARI

Lun-Ven 9:30 - 13:30 & 14:30 - 17:30
Sabato - Scrivici o Contattaci
DomenicaScrivici o Contattaci

CREATE ACCOUNT

*

*

*

*

*

*

FORGOT YOUR PASSWORD?

*

corso java

 

Il ruolo svolto dal programmatore Java consiste nello sviluppo di applicazioni nel linguaggio di programmazione Java. Partendo dalle specifiche ricevute dall’analista software, implementa le funzionalità richieste dalle specifiche, eseguendone il testing prima del rilascio. Tra i compiti del programmatore rientrano l’interazione con il team di sviluppo per la specifica delle interfacce tra moduli software, l’analisi e la risoluzione delle criticità riscontrate durante la fase di sviluppo. A tal fine il programmatore Java ha il compito di preparare la documentazione che descrive opportunamente il codice sviluppato. Può avere l’onere di testare, validare e/o confrontare nuovi prodotti o librerie software al fine di verificare la loro integrabilità in applicazioni Java. Tra le proprie mansioni possono essere comprese la progettazione e l’implementazione di semplici basi di dati che vengono utilizzate, su richiesta dell’analista software o del team leader, in fase di sviluppo delle applicazioni in luogo delle banche dati presenti in ambienti operativi.

 

 

Descrizione delle competenze dei formati al termine del corso

Descrizione delle competenze dei formati al termine del corso  Al termine del percorso formativo, ogni discente avrà acquisito autonomia nello sviluppo di applicazioni in linguaggio Java ed avrà acquisita ampie competenze che includeranno, oltre ai costrutti di base del linguaggio, anche i principi dell’ingegneria del software, i fondamenti della progettazione e della analisi algoritmica, i concetti base ed avanzati legati alla programmazione ad oggetti ed al suo utilizzo in Java, tecniche avanzate di programmazione sequenziale e tecniche avanzate per la programmazione concorrente.

 

 

Requisiti per l’accesso e modalità di selezione

  • Propensione all’uso delle tecnologie informatiche
  • Motivazione

La sussistenza dei requisiti verrà verificata in ingresso mediante test di verifica e colloquio motivazionale a cura degli operatori delle Agenzie per il Lavoro e degli enti formativi. Dove previsto dalla specifica articolazione territoriale entrambe le fasi della selezione sarà affidata agli operatori degli stessi enti formativi, laddove provvisti di accreditamento per i servizi al lavoro e/o per le attività di orientamento.

 

 

Articolazione didattica dei percorsi formativi

 

Modulo 1. Introduzione alla programmazione Java (30 ore)

Obiettivi del modulo: fornire ai discenti le conoscenze di base relative al linguaggio Java; trasferire le tecniche di base di programmazione e i concetti di base della programmazione ad oggetti.

Contenuti:

  • Concetti base di programmazione; variabili mono e multi-dimensionali; il controllo di flusso; gli iteratori
  • Introduzione al linguaggio Java; scope delle variabili; struttura di una classe Java; creazione ed esecuzione di applicazioni eseguibili; import di package java; proprietà del linguaggio: indipendenza dalla piattaforma, object orientation incapsulamento, etc.
  • Data types. Dichiarazione e inizializzazione variabili; differenze tra variabili primitive e riferimenti ad oggetti; lettura o modifica di campi; ciclo di vita degli oggetti; utilizzo delle classi wrapper
  • Operatori e costrutti decisionali; utilizzo degli operatori e override delle priorità, utilizzo dei costrutti if e costrutti ternari; utilizzo del costrutto switch; confronto tra stringhe
  • Array mono- e multi-dimensionali
  • Utilizzo dei costrutti di iterazione: while, for, do/while; utilizzo di break e continue

 

Modulo 2. Algoritmi e Strutture Dati in Java (40 ore)

Obiettivi del modulo: fornire le conoscenze di base per la progettazione e l'analisi di algoritmi e strutture dati efficienti in Java garantendo la comprensione delle tecniche di base per l’analisi degli algoritmi, della progettazione di strutture dati di base, sia statiche che dinamiche. Le nozioni teoriche apprese saranno corredate da implementazioni nel linguaggio Java, consentendo la piena comprensione del processo di progettazione e sviluppo. Lo studente conoscerà un insieme minimale di algoritmi per la soluzione di problemi notevoli.

Contenuti:

  • Notazione asintotica, calcolo del tempo di esecuzione e dello spazio utilizzato da un algoritmo
  • Principali algoritmi di ordinamento e loro analisi di complessità
  • Strutture dati elementari; progettazione ed analisi: code, heap, stack, liste, alberi
  • Alberi di ricerca binaria
  • Algoritmi di visita per grafi, BFS, DFS

 

Modulo 3. Java Advanced (30 ore)

Obiettivi del modulo: presentare allo studente concetti avanzati dei linguaggi ad oggetti e del linguaggio Java in particolare.

Contenuti:

  • Creazioni di metodi ed incapsulamento. Overloading in Java. Creazione ed overloading di costruttori; modificatori d’accesso; principi di incapsulamento; parametri dei metodi
  • Ereditarietà: Definizione e vantaggi; polimorfismo; casting; super classe, riferimento alla classe this; classi astratte ed interfacce
  • Eccezioni: Checked, unchecked exceptions ed errori; il controllo di flusso ed il costrutto try-catch; vantaggi legati all’exception handling; creazione e invocazione di metodi che lanciano eccezioni; riconoscimento delle classi di eccezioni più comuni
  • Utilizzo di specifiche classi Java. StringBuilder; String; Manipolazione di date; utilizzo di ArrayList di tipi arbitrari; Lambda expressions.

 

Modulo 4. Programmazione concorrente in Java (20 ore)

Obiettivi del modulo: presentare allo studente la programmazione multi-thread in Java. Lo studente apprenderà le problematiche insite nella programmazione multi-thread e le relative soluzioni, le metodologie di implementazione in Java, e le tecniche di sincronizzazione tra thread.

Contenuti:

  • La programmazione multi-thread; nozione di thread; thread in Java
  • Creazione, cancellazione ed interruzione di thread in Java
  • Comunicazione tra thread; le aree di memoria condivise; le sezioni critiche
  • Sincronizzazione tra thread; metodi e blocchi sincronizzati. Condition variable; code bloccanti.

 

Modulo 5. Progettazione di database (30 ore)

Obiettivi del modulo: consentire l’acquisizione delle metodologie per la progettazione e l'implementazione di una base di dati e la predisposizione della sua interfaccia con utenti e/o programmi applicativi. In particolare, lo studente acquisirà le metodologie per strutturare e documentare il progetto nonché gli elementi per la comprensione della struttura, delle funzionalità e degli aspetti tecnologici dei sistemi per la gestione di basi di dati (DBMS), con particolare riferimento a quelli che adottano un modello relazionale dei dati.

Contenuti:

  • Architettura dei Sistemi per la gestione di basi di dati
  • Progettazione concettuale di un database; schemi Entità-Associazione e/o Class Diagram di UML
  • Il modello relazionale dei dati e progettazione logica
  • Algebra relazionale
  • Lo standard SQL99: definizione dei dati e dei vincoli, interrogazione dei dati, manipolazione dei dati
  • Progettazione logica e normalizzazione di schemi relazionali.
  • SQL nei linguaggi di programmazione; tecnologia di un database server
  • Utilizzo di Database in Applicazioni Java

 

Modulo 6. Ingegneria del Software (30 ore)

Obiettivi del modulo: fornire le conoscenze di base dell’ingegneria del software, dei processi di ingegneria del software e delle relative fasi, attività e deliverable. In particolare, lo studente acquisirà conoscenze sui metodi di analisi e progettazione, e sui principali linguaggi di modellazione del software per la raccolta dei requisiti e la comunicazione tra diversi attori coinvolti in un processo di ingegneria del software.

Contenuti:

  • Introduzione all'Ingegneria del Software; concetti di prodotto software, attributi di qualità del software
  • L'Ingegneria dei Requisiti; analisi e specifica dei Requisiti; il documento dei Requisiti Software
  • UML: Class Diagrams, Sequence Diagrams, Activity Diagrams, Statecharts
  • System Design e principali Architetture Software

 

 

Numero discenti per aula

12

 

 

Modalità di erogazione

Oltre alla tradizionale metodologia didattica frontale declinata nel tradizionale rapporto docente - discente, l’offerta formativa vedrà l’impiego di metodologie didattiche fortemente innovative, basate sulla sperimentazione di casi e situazioni di problem-finding e problem-solving da gestire sia individualmente sia in team.

In particolare, la didattica prevede:

  1. Lezioni frontali
  2. Modalità challenge-based
  3. Laboratori
  4. Prove simulate di certificazione
  5. Project-work finale

La metodologia didattica prevista per le azioni formative prevede un’azione mista di docenza teorica e risoluzione pratica dei problemi. L’approccio è di tipo “challenge-based”, un modello ideato da Apple a partire dalla metodologia didattica anglosassone e utilizzato in IOS Academy.

Il modello Challenge-based prevede il coinvolgimento attivo di tutti i discenti e il superamento della dinamica di interazione one-to-one studente-docente, a favore di un modello relazionale più complesso e basato sulla collaborazione tra studenti volta al raggiungimento del miglior risultato. Il docente, dopo aver adeguatamente preparato i discenti dal punto di vista teorico, promuoverà tale modalità per sperimentare quanto appreso dividendo i discenti in squadre che si sfideranno sulla risoluzione dei problemi presentati, ed inserendosi in tale dinamica in qualità di guida e di facilitatore.

L’approccio challenge-based/problem-based promuove l’applicazione concreta della competenza nel mondo reale, favorendo lo sviluppo di un approccio mentale orientato al problem-solving e basato sull’uso di strumenti che consentano di far fronte concretamente alla natura dell’economia basata sull’informazione. Un simile approccio permette agli studenti di familiarizzare con i diversi aspetti della professione che si accingono a svolgere, preparandosi ad affrontarne le sfide e a raggiungere gli obiettivi, apprendendo, al contempo, nuove tecnologie e imparando a lavorare in team.

 

 

Esame finale per la valutazione dell’intervento formativo

Certificazione ICT: Oracle Java SE 8 Programmer I

Codice esame: 1Z0-808

 

 

Accompagnamento all’inserimento lavorativo

Al termine del percorso formativo, le 4 agenzie per il lavoro si occuperanno della promozione dei profili in uscita per favorirne l’inserimento professionale nelle imprese presenti sui territori di riferimento.

 

 

button clicca per candidarti

loghi garanzia giovani

TOP