Percorso Object Oriented Programming

Percorso formativo IFTS  in ambito della programmazione Object Oriented e Java. 

Il percorso, della durata di 12 mesi, prevede assunzione in apprendistato di primo livello ed è suddiviso in 3 parti:
 496 ore in aula (full time da lunedì a venerdì 9:00 – 18:00)
 504 ore training on the job
 6 mesi di attività seguiti da un tutor aziendale Data d’inizio prevista: 18 settembre 2017

Sede percorso formativo: MILANO Sede di lavoro post percorso formativo: MILANO E HINTERLAND

Profilo Richiesto
•    Età inferiore ai 25 anni
•    Non avere attivato altri percorsi formativi
•    Diploma
•    Buona attitudine all’attività proposta (logica)
•    Motivazione ad intraprendere un percorso formativo e professionale in ambito IT

 



PROGRAMMA:

MODULO 1: Introduzione alla programmazione a oggetti (40h)
 Introduzione dei concetti di logica di programmazione
 Concetto di variabile. Esempi di variabili semplici e complesse. Primi esempi di oggetti con semplici metodi.
 Introduzione ai concetti di sequenza, selezione e iterazione
 Spiegazione di algoritmi di base su tipi primitivi e su oggetti semplici. Tecnica dell’esecuzione simbolica
 Introduzione ai linguaggi Java e PHP
 Approfondimento degli oggetti. Metodi e proprietà in dettaglio. Costruttori. Metodi e proprietà di classe
 Elaborazione di algoritmi e di programmi Java inerenti a quanto presentato

MODULO 2: Design a oggetti (40h)
 Basi teoriche del design OO
 Ereditarietà, incapsulamento, polimorfismo e loro uso pratico. Definizione di proprietà e metodi, loro ereditarietà, architettura OO.
 Cenni di UML
 Esempi ed esercitazioni degli argomenti trattati

MODULO 3: Programmazione OO avanzata (40h)
 Interfacce e classi astratte  Gestione delle eccezioni
 “Programmare ad interfacce”. Concetti di ingegneria del software per la creazione di codice robusto.
 Esempi ed esercitazione degli argomenti trattati in Java e PHP

MODULO 4 : BASI di DATI e Linguaggio SQL (40h)
 Fondamenti di progettazione e sviluppo di basi di dati relazionali e linguaggio SQL
 Connessione JAVA/Database SQL (JDBC e suo uso), connessione PHP e Mysql (approccio a oggetti)
 Esempi ed esercitazione degli argomenti trattati utilizzando i DBMS più comuni (MySQL, SQLITE)

MODULO 5: Web Application (40h)
 Introduzione alle web application (servlet, Java Beans, JSP)
 Fondamenti di sviluppo web (il pattern MVC, HTML, CSS)
 Esempi ed esercitazione degli argomenti trattati

MODULO 6: Basi di design e sviluppo pattern based (32h)
 Factory, Abstract Factory, Builder, Singleton
 Decorator, Proxy, Facade, Template Method, Observer
 Front Controller, Model View Controller

MODULO 7: XML (16h)
 Introduzioneü Struttura, correttezza e validazione di un file XML
 Utilizzo e produzione di XML in Java

MODULO 8: Basi di UML (24h)
 Elementi base di UML (class diagram, use case diagram, sequence diagram)
 Design di una semplice applicazione tramite UML

MODULO 9: Approfondimenti di SQL e DB Relazionali (40h)
 Introduzione alle basi di dati complesse
 Algebra relazione e SQL
 Interrogazioni avanzate. Utilizzo di Mysql. Queries correlate.
 SQL in Java e PHP

MODULO 10: Networking di base (32h)
 Approfondimento dei concetti teorici di networking
 Architettura e Comunicazione a livelli
 Sockets e architettura Client-Server – approfondimento
 ServerSocket multi-thread
 Introduzione a HTTP e il mondo Web
 REST e HATEOAS

MODULO 11: Servlets in Java – approfondimento (16h)
 Introduzione Servlets
 Cosa è un application server (caso concreto: Tomcat)
 Prima applicazione Java Web

MODULO 12: Lo sviluppo web (40h)
 Introduzione HTML5 e CSS3
 Prima applicazione: pagina statica con CSS
 Javascript JQuery (accenni di JQuery UI)

MODULO 13: AngularJS e Ajax (40h)
 Le direttive di AngularJS (App, Model, Bind, ecc.)
 I filtri
 Direttive in DOM
 Eventi e espressioni
 Controller e scope
 Moduli e API
 Rifattorizzazione dell’applicazione Java Web: pagina dinamica con AJAX

MODULO 14: Spring (40h)
 Dependency injection
 Introduzione a Spring
 Installazione e configurazione di Spring
 Architettura Spring, Bean Factory e ApplicationContext
 Spring MVC

MODULO 15: Agile programming (Scrum) (16h)
 Tipi di processo: empirici e definiti – processi Push vs. Processi Pull
 Lean Thinking
 Metodologie Agile: manifesto agile, valori e principi
 Introduzione a Scrum: framework, ruoli, artefatti e cerimonie
 Gestione Agile dei progetti: pianificazione, product backlog, tecniche di prioritizzazione
 Gestione Agile dei progetti: User Story, stime, Release Planning, Backlog refinement
 Gestione Agile del team