Programma dettagliato
MODULO PROGRAMMAZIONE (30 ORE)
18/1/2021 → 6h OOP JAVA
- Predisposizione ambiente di lavoro JAVA
- Breve introduzione a JAVA
- Programmazione OOP con JAVA: i principi fondamentali (incapsulamento, ereditarietà, polimorfismo)
- Classi, proprietà e metodi: cosa sono e a cosa servono
- Proprietà e metodi di istanza e statici
- Il metodo costruttore
19/1/2021 → 8h OOP JAVA
- Overload dei metodi
- Classi astratte
- Ereditarietà: le classi derivate
- Utilizzo di final
- Override di metodi
20/1/2021 → 8h OOP JAVA
- Interfacce
- Classi anonime
- Strutture dati
- Classi Wrapper
- UpCasting
- Introduzione ai Generics
- Esercitazione di riepilogo: 4h
21/1/2021 → Data Modeling (3h) e GIT (5h)
- Data modeling: i principi cardini della modellazione delle classi; linguaggio UML
- GIT: funzionamento, installazione e configurazione
- Il versionamento tramite GIT
- Uso di Github e Github Desktop
Branch e pull request
MODULO PROGETTAZIONE SOFTWARE (30 ORE)
22/1/2021 → 8h MVC
- Pattern architetturali: definizioni e inquadramento
- Principali pattern di sviluppo
- Il pattern MVC: storia ed evoluzione
- JAVA e MVC: primi esempi e casi d’uso
25/1/2021 → 6h MVC
- JAVA e MVC: interfaccia Observable
- Vari esempi di uso del pattern MVC
- 26/1/2021 → 8h MVC
- Esercitazione di riepilogo su MVC
27/1/2021 → 8h Requisiti utente e progettazione funzionalità
- Redazione documento delle specifiche
- Quantificazione analitica dei tempi necessari allo sviluppo di un progetto
- Stesura di una timeline
MODULO CLIENT (46 ORE)
28/01/2021 → 8h I siti Web
- Introduzione agli argomenti del modulo
- Breve cronistoria dalle applicazioni native alle Single Page Web Applications
- Fondamenti di HTML & CSS
- Realizzazione di un sito statico
29/01/2021 → 8h I linguaggi per il Web
- Introduzione a Javascript
- Differenze rispetto a Java
- Funzioni e librerie di utilità
- TypeScript: l’estensione di Javascript
- Tipizzazione del codice
- Programmazione orientata agli oggetti sul web
01/02/2021 → 8h User Experience
- Progettazione delle interfacce
- Applicazione delle conoscenze acquisite
- Introduzione storica alla UX e UI
- Flusso di sviluppo di una applicazione, kanban e messaging
- Perché fare wireframing come step preliminare al visual design
- Pratica – Un grande tool per designer: Figma, prove di una Todo list
- L’importanza delle analytics e delle fonti di ispirazione per un designer
- Pratica – Dal design al markup e CSS
- Introduzione al Design System, il design nelle grandi aziende
02/02/2021 → 6h Il framework Angular pt.1
- Il framework Angular: perché e quando sceglierlo
- Creazione di un nuovo progetto
- Gestione delle dipendenze
- Architettura component-based
03/02/2021 → 8h Il framework Angular pt.2
- Modularizzazione
- Navigazione e lazy loading
- Pipe, servizi e direttive
04/02/2021 → 8h Il framework Angular pt.3
- Form di inserimento dati
- Validazione dei dati
- Chiamate HTTP ad API REST
- RxJs: programmazione reattiva
MODULO SICUREZZA (8 ORE)
MODULO SERVER (44 ORE)
08/02/2021 → 6h Maven & IDEs
- Tools di sviluppo
- Tools di test per REST
- Maven
09/02/2021 → 8h Micro Servizi & SpringBoot
- Architettura Micro Servizi (generale)
- Springboot
- Dependency Injection
- Inversion of Control
10/02/2021 → 8h SpringBoot REST & Database
- REST project
- Logging
- Database
11/02/2021 → 8h Spring Data
- Spring Data
- Hibernate
- Repository
12/02/2021 → 8h Documentazione API & Security
- Spring Gestione degli Errori
- Documentazione API usando Swagger
- Spring Security (cenni)
15/02/2021 → 6h SpringBoot nel Cloud
- Cloud (generico)
- Spring Cloud Config Server
- Accenni alla security dello SCCS