- Paradigmi di programmazione
- Programmazione procedurale
- Tipi primitivi
- Cicli, strutture di controllo
- Tipi riferimento, tipi wrapper
- Array, Stringhe, Uguaglianza
- Metodi e Overloading
- Incapsulamento, mod. accesso
- Eccezioni
- Ricorsione
- OOP: classi, enum, classi innestate
- Pattern Singleton
- Ereditarietà
Vuoi essere un Junior Software Engineer?
Programma del corso Junior Software Engineer, certificazioni e requisiti
- Object Oriented Programming
- Spring
- Angular
- Progettazione, sviluppo e distribuzione Software per il Cloud
- Project Work
- Microsoft .NET
- Big Data Analysis
- Software Security
- Internet of Things
- Career Ready Module
PERCORSO CORE
Object-Oriented Programming
40 ore
COMPETENZE
- Polimorfismo
- Classi astratte
- Design by contract
- Interfacce
- Generics
- Collections
- Mappe, comparator e comparable
- Annotazioni e Reflection
- Funzionale e Stream
- Funzionale e Stream/Java11
- IO/Serialization
- Logging
- Design Pattern
PERCORSO CORE
Spring
40 ore
COMPETENZE
Core
- L’importanza del Container Spring
- Concetto della Dependency Injection
- Cos’è un Bean
- Configurazioni attraverso l’uso delle annotazioni
- Validazioni, Data Binding e Conversioni di tipo
- SpEL – Spring Expression Language
- I18N – Internazionalizzazione
Data Access
- JDBC (DriverManager, Connection, Statements, ResultSet)
- Pattern DAO
- Uso delle transazioni
- Uso delle annotazioni dedicate alla gestione delle eccezioni e delle transazioni
- La tecnica ORM
- JPA – Java Persistence API
- Uso dei Repository
Spring MVC
- Origini delle Servlet
- I componenti JAVAEE – Servlet, Filter e Listener
- Le pagine JSP e l’uso delle TagLibrary
- Il Pattern MVC – Model, View, Controller
- Sviluppo di un controller Spring con costruzione del risultato in formato HTML
- Concetti dei web services RESTFul
- Sviluppo di una REST API con costruzione del risultato in formato JSON
Spring Security
- Configurazione del processo di autenticazione
- Configurazione del processo di autorizzazione
SPECIALIZZAZIONE
Angular
40 ore
COMPETENZE
- L’ambiente di front-end: Node e NPM
- Typescript: installazione, sintassi
- Struttura applicazione Angular e Angular CLI
- Tag personalizzati: i componenti
- Debug Angular con Chrome Dev Tool e Angular CLI
- I template: ngFor, ngIf, ngClass, NgStyle
- Two way data binding
- Ciclo di vita di un componente
- Servizi e dependency Injection in Angular
- Routing in Angular
SPECIALIZZAZIONE
Progettazione, sviluppo e distribuzione Software per il Cloud
40 ore
COMPETENZE
Progettazione e sviluppo di REST API attraverso l’uso di Spring
- Applicazione Monolitica a confronto con l’Architettura a Microservizi
- Introduzione a Spring, Dependency Injection e Spring Boot
- Configurazioni principali nel file application.properties
- Come sviluppare un servizio REST con Spring
- Come distribuire un servizio con Spring Boot e Docker
Distribuzione dei servizi attraverso l’uso dei container: Docker – Concetti preliminari
- Docker vs VM
- Cos’è un container
- Immagini Docker
- Esempio di Dockerfile
- Costruire un’immagine
- Esecuzione di un container
- Avviare e arrestare un container
- Rimozione di un container e immagini
Distribuzione dei servizi attraverso l’uso dei container: Docker – Laboratorio
- Installazione di Docker su sistema Linux
- Avvio del primo container “Hello World”
- Principali istruzioni contenute nel Dockerfile
- Costruzione di un’immagine personalizzata
- Avvio di un container MYSQL
- Avvio di un container Java
- Avvio di un container Nginx
- Gestione dei volumi
- Gestione della rete
- Cenni a Kubernetes
PERCORSO CORE
Java Project Work
80 ore
COMPETENZE
- Model & Business
- DAO in memory, Unit testing e funzionale
- DAO in database e logging
- Business Logic
- Webservices
- Web User Interface
SPECIALIZZAZIONE
Microsoft .NET
40 ore
COMPETENZE
- Exploring ASP.NET Core MVC
- Designing ASP.NET Core MVC Web Applications
- Configure Middlewares and Services in ASP.NET Core
- Developing Controllers
- Developing Views
- Developing Models
- Using Entity Framework Core in ASP.NET Core
- Implementing Web APIs
SPECIALIZZAZIONE
Big Data Analysis
40 ore
COMPETENZE
- Collect, Transform, analyze, and visualize data from the sensor and store them in SQL data bases
- Conduct exploratory data analysis activities
- Advanced Data Analysis and Machine Learning
- Apply Machine Learning algorithms to extract insights from data
- Present and communicate using data storytelling
- Describe the evolution of data management technologies from SQL to NoSQL.
- Architecture for Big Data and Data Engineering: working in a modern data center and of a distributed scalable Big Data platform (Apache Hadoop)
SPECIALIZZAZIONE
Software Security
40 ore
COMPETENZE
- Brute Force Login: learn to develop a secure login, avoiding Brute Force attacks
- CSRF – Cross Site Request Forgery – learn to avoid exposing features that can be exploited without the user’s knowledge
- XSS – Stored Cross Site Scripting – learn to avoid Javascript code injection into web applications
- SQL Injection – learn to avoid SQL injection into web applications
- Remote Command Injection – learn to avoid having system commands run remotely through a web application
- Secure File Upload – learn to implement secure file upload on a web platform
SPECIALIZZAZIONE
Internet of Things
40 ore
COMPETENZE
- Securely connect the prototype to the Internet
- Understand the concepts, opportunities and challenges of digital transformation using IoT
- Design and model IoT solutions
- Design and prototype IoT solutions using electronics, microcontrollers and single board computers
- Program the behavior of the IoT devices and to connect them to cloud services via APIs
- Work as a team and apply the User-Centered Design Approach (“design thinking”) to develop, rapidly prototype, iteratively refine and pitch a business idea for an IoT solution
MODULO NON TECNICO
Career Ready
COMPETENZE
- Flanking technical paths with a training course, based on the development of soft skills
- Gaining awareness of the importance of possessing both technical skills and relational skills
- Train the capacity for observation and reflection on personal and group dynamics
I corsi
Clicca sul corso e scopri di più.
Object Oriented Programming
PERCORSO CORE
Object-Oriented Programming
40 ore
COMPETENZE
- Paradigmi di programmazione
- Programmazione procedurale
- Tipi primitivi
- Cicli, strutture di controllo
- Tipi riferimento, tipi wrapper
- Array, Stringhe, Uguaglianza
- Metodi e Overloading
- Incapsulamento, mod. accesso
- Eccezioni
- Ricorsione
- OOP: classi, enum, classi innestate
- Pattern Singleton
- Ereditarietà
- Polimorfismo
- Classi astratte
- Design by contract
- Interfacce
- Generics
- Collections
- Mappe, comparator e comparable
- Annotazioni e Reflection
- Funzionale e Stream
- Funzionale e Stream/Java11
- IO/Serialization
- Logging
- Design Pattern
Spring
PERCORSO CORE
Spring
40 ore
COMPETENZE
Core
- L’importanza del Container Spring
- Concetto della Dependency Injection
- Cos’è un Bean
- Configurazioni attraverso l’uso delle annotazioni
- Validazioni, Data Binding e Conversioni di tipo
- SpEL – Spring Expression Language
- I18N – Internazionalizzazione
Data Access
-
- JDBC (DriverManager, Connection, Statements, ResultSet)
- Pattern DAO
- Uso delle transazioni
- Uso delle annotazioni dedicate alla gestione delle eccezioni e delle transazioni
- La tecnica ORM
- JPA – Java Persistence API
- Uso dei Repository
Spring MVC
- Origini delle Servlet
- I componenti JAVAEE – Servlet, Filter e Listener
- Le pagine JSP e l’uso delle TagLibrary
- Il Pattern MVC – Model, View, Controller
- Sviluppo di un controller Spring con costruzione del risultato in formato HTML
- Concetti dei web services RESTFul
- Sviluppo di una REST API con costruzione del risultato in formato JSON
Spring Security
- Configurazione del processo di autenticazione
- Configurazione del processo di autorizzazione
Angular
SPECIALIZZAZIONE
Angular
40 ore
COMPETENZE
- L’ambiente di front-end: Node e NPM
- Typescript: installazione, sintassi
- Struttura applicazione Angular e Angular CLI
- Tag personalizzati: i componenti
- Debug Angular con Chrome Dev Tool e Angular CLI
- I template: ngFor, ngIf, ngClass, NgStyle
- Two way data binding
- Ciclo di vita di un componente
- Servizi e dependency Injection in Angular
- Routing in Angular
Progettazione, sviluppo e distribuzione Software per il Cloud
Specializzazione
Progettazione, sviluppo e distribuzione Software per il Cloud
40 ore
COMPETENZE
Progettazione e sviluppo di REST API attraverso l’uso di Spring
- Applicazione Monolitica a confronto con l’Architettura a Microservizi
- Introduzione a Spring, Dependency Injection e Spring Boot
- Configurazioni principali nel file application.properties
- Come sviluppare un servizio REST con Spring
- Come distribuire un servizio con Spring Boot e Docker
Distribuzione dei servizi attraverso l’uso dei container: Docker – Concetti preliminari
- Docker vs VM
- Cos’è un container
- Immagini Docker
- Esempio di Dockerfile
- Costruire un’immagine
- Esecuzione di un container
- Avviare e arrestare un container
- Rimozione di un container e immagini
Distribuzione dei servizi attraverso l’uso dei container: Docker – Laboratorio
- Installazione di Docker su sistema Linux
- Avvio del primo container “Hello World”
- Principali istruzioni contenute nel Dockerfile
- Costruzione di un’immagine personalizzata
- Avvio di un container MYSQL
- Avvio di un container Java
- Avvio di un container Nginx
- Gestione dei volumi
- Gestione della rete
- Cenni a Kubernetes
Project Work
PERCORSO CORE
Java Project Work
80 ore
COMPETENZE
- Model & Business
- DAO in memory, Unit testing e funzionale
- DAO in database e logging
- Business Logic
- Webservices
- Web User Interface
Big Data Analysis
SPECIALIZZAZIONE
Big Data Analysis
40 ore
COMPETENZE
- Collect, Transform, analyze, and visualize data from the sensor and store them in SQL data bases
- Conduct exploratory data analysis activities
- Advanced Data Analysis and Machine Learning
- Apply Machine Learning algorithms to extract insights from data
- Present and communicate using data storytelling
- Describe the evolution of data management technologies from SQL to NoSQL.
- Architecture for Big Data and Data Engineering: working in a modern data center and of a distributed scalable Big Data platform (Apache Hadoop)
Microsoft .NET
SPECIALIZZAZIONE
Microsoft .NET
40 ore
COMPETENZE
- Exploring ASP.NET Core MVC
- Designing ASP.NET Core MVC Web Applications
- Configure Middlewares and Services in ASP.NET Core
- Developing Controllers
- Developing Views
- Developing Models
- Using Entity Framework Core in ASP.NET Core
- Implementing Web APIs
Software Security
SPECIALIZZAZIONE
Software Security
40 ore
COMPETENZE
- Brute Force Login: learn to develop a secure login, avoiding Brute Force attacks
- CSRF – Cross Site Request Forgery – learn to avoid exposing features that can be exploited without the user’s knowledge
- XSS – Stored Cross Site Scripting – learn to avoid Javascript code injection into web applications
- SQL Injection – learn to avoid SQL injection into web applications
- Remote Command Injection – learn to avoid having system commands run remotely through a web application
- Secure File Upload – learn to implement secure file upload on a web platform
Internet of Things
SPECIALIZZAZIONE
Internet of Things
40 ore
COMPETENZE
- Securely connect the prototype to the Internet
- Understand the concepts, opportunities and challenges of digital transformation using IoT
- Design and model IoT solutions
- Design and prototype IoT solutions using electronics, microcontrollers and single board computers
- Program the behavior of the IoT devices and to connect them to cloud services via APIs
- Work as a team and apply the User-Centered Design Approach (“design thinking”) to develop, rapidly prototype, iteratively refine and pitch a business idea for an IoT solution
Career Ready Module
MODULO NON TECNICO
Career Ready
COMPETENZE
- Flanking technical paths with a training course, based on the development of soft skills
- Gaining awareness of the importance of possessing both technical skills and relational skills
- Train the capacity for observation and reflection on personal and group dynamics
Figure professionali
Il percorso apre all’inserimento aziendale con i diversi profili professionali in base all’ambito di specializzazione:
- Cloud Developer – Si occupa della progettazione, dello sviluppo e della distribuzione di soluzioni applicative in ambienti cloud, sviluppa secondo architetture a microservizi ed ha una conoscenza dell’infrastruttura e dell’ambiente cloud che ospita le applicazioni di cui segue lo svilppo. Oltre ad effettuare sviluppo nativo cloud, può prendere parte a processi di migrazione di applicativi da ambienti legacy ad ambienti cloud.
- Software Engineer / Developer / Analyst – Si occupa dello sviluppo di applicazioni multilivello (n-tier) a partire dalla progettazione fino ad arrivare al testing e al deploy; è in grado di lavorare in gruppo e di utilizzare framework e strumenti enterprise.
- Back-end Developer – Sa interfacciarsi a sorgenti dati tramite oggetti DAO, implementare la business logic dell’applicazione, sviluppare componenti web service (REST e SOAP) e, ove necessario, implementare interfacce web in grado di sfruttarli, effettuare il testing dell’intera applicazione secondo la metodologia di Unit Testing
- Front-end Developer – Sa progettare ed implementare i componenti Web utili all’interazione utente con l’uso delle tecnologie HTML, CSS, Javascript, sfruttando i più moderni Framework front end Javascript come Angular, React, Vue.js.
- Full-Stack Developer – Sa orientarsi nell’analisi, progettazione e realizzazione dei vari componenti applicativi, sfruttando le conoscenze maturate sia nell’ambito front-end che back-end.
- Big Data Specialist – Developer specializzato nell’implementazione e gestione di soluzioni IT per il mondo Big Data
- IoT Specialist – Sviluppatore specializzato nella progettazione e gestione di soluzioni industriali per l’Internet of Things
> Struttura e Certificazioni
Il percorso si distingue da tutti gli altri percorsi formativi (percorsi universitari, ITS, IFTS) per la sua struttura altamente specializzante, Job-Driven, NON-modulare, ovvero guidata da un Project Work, che ne definisce, dal suo avvio, contenuti, strumenti, struttura e modalità.
Al termine del percorso il partecipante inoltre conseguirà la certificazione Oracle Certified Associate – Java SE 8 Programmer.
In base a interessi e richieste delle aziende, integrano il percorso specializzazioni in ambito applicativo architetturale su temi quali IoT, Data Analysis, Cisco DevNet, principalmente in ambito Python application development & security, API, automation finalizzate alla preparazione delle nuove certificazioni Cisco DevNet.
Specializzazioni pratiche e certificazioni sono per le aziende e per le persone garanzia di competenze tecniche reali basate sulla conoscenza e l’uso aziendale dei principali linguaggi di programmazione.
> Requisiti
Possono accedere al corso neodiplomati provenienti da Istituti Tecnici Industriali o neolaureati di Università a indirizzo ‘Informatica e Telecomunicazioni’.
Sono requisiti d’ingresso la conoscenza di base dell’inglese tecnico, conoscenza di base di un linguaggio di programmazione ad oggetti tra C++, Java, Python, C#, forte attitudine.
Costituisce titolo preferenziale aver frequentato percorsi Cisco rivolti al mondo education e il possesso dei relativi certificati rilasciati dagli istituti di provenienza.
Le selezioni per diventare Junior Software Engineer prevedono test di informatica, di inglese, colloquio individuale, laboratorio pratico.