Corsi di Formazione per Aziende su Deep Learning, Java EE, Python, C++, Hadoop, Scala, Computer Vision, Machine Learning, Keras, TensorFlow e molto altro!

ARGO Vision fa delle attività di Ricerca e Sviluppo uno dei propri asset principali. Negli anni, a lato della attività di ricerca, la società ha sviluppato una vera e propria Academy interna per offrire formazione continua e sempre aggiornata ai propri dipendenti. Forti di questa esperienza, dal 2017 abbiamo aperto ai clienti l'accesso alla nostra offerta formativa. Ad oggi, ARGO Vision ha erogato più di un centinaio di giornate di formazione presso decine di clienti su tutto il territorio italiano.

Un aspetto caratterizzante della nostra offerta formativa è la contiguità delle attività lavorative dei docenti con la relativa proposta formativa: il docente viene selezionato sulla base dell’ esperienza lavorativa che ha maturato. Infatti, chi utilizza il linguaggio/la tecnologia nella propria quotidianità lavorativa ha maggiore probabilità di essere efficace e responsivo verso le esigenze degli studenti.

 

Corsi di Formazione ARGO Vision

Tra i nostri clienti possiamo annoverare centri di ricerca di fama mondiale, multinazionali, enti di formazione Italiani e piccola/media impresa Italiana:

OFFERTA FORMATIVA

La nostra offerta formativa si focalizza su 4 aree tematiche:

Nonostante il continuo proliferare di tecnologie di vario tipo, alcune componenti software si sviluppano ancora con un linguaggio nato più di 40 anni fa: il C (attualmente standard definito nel 99). 

Questo corso si pone come scopo quello di apprendere il linguaggio C (eventualmente dalle basi) ad un livello avanzato, permettendo al partecipante di apprendere come un linguaggio datato come il C possa mostrarsi vincente in alcune applicazioni.
Verrà analizzato come progettare e realizzare un’applicazione/libreria in maniera modulare, portabile, eventualmente Object Oriented.

Contenuti del corso

    • Sintassi di base del C, sintassi del preprocessore, strumenti di compilazione in vari ambienti
    • Strutture dati, funzioni, definizione di tipi 
    • Utilizzo del preprocessore per la costruzione di una libreria modulare, design pattern classici
    • Utilizzo avanzato del preprocessore per ottenere uno strumento di programmazione di secondo livello, analisi delle potenzialità e dei limiti
    • Realizzazione di un framework di unit-testing
    • Utilizzo avanzato delle strutture dati e dei puntatori a funzione per avvicinarsi alla OOP
    • Realizzazione di un framework per la programmazione a oggetti comprensivo di ereditarietà, polimorfismo, RTTI, membri statici e altre funzionalità classiche di OOP
    • Strumenti di long-jump per “rompere lo schema procedurale”
    • Realizzazione di un framework per creare continuation in C nativo 

In questo corso si propongono al partecipante, avente competenze pregresse di programmazione procedurale, la teoria relativa alla programmazione a oggetti, dalle basi ai design-pattern. L’aspetto pratico del corso viene affrontato utilizzando come linguaggio il C# in ambiente di sviluppo Visual Studio (eventualmente Express Edition), apprendendo la sintassi, analizzando le funzionalità offerte dal CLR, nonché studiando i principali framework messi a disposizione dagli assembly standard di .NET.

Contenuti del corso

    • Basi teoriche di programmazione orientata agli oggetti (OOP) e UML
    • Sintassi del linguaggio di programmazione C# e relazioni tra gli elementi di sintassi e la OOP 
    • Realizzazione di classi che sfruttano i generics
    • Principali design pattern (GoF) e loro realizzazione in C#
    • API di base del framework .NET (collezioni, io)
    • Reflection e realizzazione di architetture a plug-in
    • WinForms
    • Introduzione a WPF
    • Thread e concorrenza
    • Networking
    • Introduzione a WCF
    • Introduzione a ADO.NET
    • Introduzione a LINQ

.NET è costellato di svariate decine di framework accessibili tramite assembly standard o reperibili in esterno (molti direttamente da MSDN). Lo scopo di questi strumenti può essere tra i più disparati, come la parallelizzazione (TPL), la fruizione/esposizione di servizi di rete (WCF), la costruzione di interfacce grafiche in XAML (WPF) o l’accesso ai dati in maniera trasparente che essi siano strutture di oggetti, documenti XML, dati provenienti da un DB (LINQ). 

Questi ed altri argomenti di interesse possono essere proposti in un corso corredato, eventualmente, dalla descrizione di funzionalità recenti offerte dal linguaggio C# e design pattern associati ad esse.

Il linguaggio C++ cresce e si evolve rimanendo uno dei linguaggi più complessi e allo stesso tempo più efficienti e flessibili al mondo. Utilizzato in maniera corretta, questo linguaggio permette di realizzare le applicazioni maggiormente ottimizzate che possano esistere nonostante la presenza di strumenti di alto livello come quelli offerti dalle librerie STL e BOOST. 

Contenuti del corso

In questo corso si intende affrontare il linguaggio di per sé (in maniera parziale) mettendo i corsisti nelle condizioni di realizzare applicazioni complesse sfruttando gli strumenti OO messi a disposizione dal linguaggio e le funzionalità offerte dalla libreria STL. 
Svariati design pattern e anti-pattern verranno analizzati.
Rimarrà parziale la trattazione relativa all'utilizzo avanzato dei template.

Il linguaggio C++ è uno dei più complessi al mondo, attualmente è anche l’unico che prevede uno strumento così complesso come la programmazione di secondo livello tramite i template ricorsivi.

Contenuti del corso

In questo corso si intende completare la base di conoscenza acquisita nel corso “C++ Base” analizzando in maniera approfondita gli strumenti più avanzati offerti dal linguaggio fino a identificare i limiti dei compilatori (che ancora non sono in grado di supportare completamente lo standard del 98).
Verranno analizzate le nuove funzionalità e verranno studiate le librerie BOOST (divenute oramai standard de facto per lo sviluppo di applicazioni complesse in C++), con particolare attenzione verso gli strumenti di multi-threading e concorrenza, nonché verso la libreria BOOST Asio per la realizzazione di applicazioni di rete che sfruttino la programmazione asincrona.

Si tratta di un corso introduttivo alla programmazione Object Oriented in ambiente Java.
Unici requisiti richiesti sono l’utilizzo minimale di un sistema operativo a scelta e dimestichezza nella programmazione procedurale (in un qualunque linguaggio di programmazione).

Contenuti del corso

    • Concetti di programmazione a oggetti (OO) e basi di UML
    • Sintassi Java e relazione tra gli elementi sintattici e la programmazione a oggetti
    • Realizzazione di classi che sfruttano i generics
    • Design pattern di base (GoF) e loro implementazione in Java
    • API base del JDK (java.lang, java.util, java.io, cenni su java.nio)
    • Reflection, annotazioni e tecniche di realizzazione di architetture a plug-in
    • AWT e Swing per la realizzazione di interfacce grafiche 
    • Teoria e strumenti per la concorrenza (thread, sincronizzazione, API)
    • Java networking (con livello di approfondimento arbitrario da definirsi)
    • JDBC e l’interazione con database
    • JAX-B e JAX-P per la manipolazione di documenti XML
    • Basi di XML: concetti di sintassi, validazione (DTD, XSD), elaborazione (XSL), interrogazione (XPath)

Nel nuovo Web2.0 la responsività e interattività delle applicazioni Web è divenuta un obiettivo fondamentale; con l’avvento del nuovo standard HTML5, inoltre, le potenzialità di una pagina Web, renderizzata ed eseguita all'interno di un browser, sono cresciute in maniera impressionante. 
Dalla sua nascita a oggi il linguaggio di programmazione JavaScript, oltre ad essere migliorato ed essersi trasformato in un linguaggio object-based elegante e degno di nota, è anche diventato lo standard de facto per la realizzazione del lato client delle applicazioni Web.

Contenuti del corso

    • Analisi formale della sintassi e della semantica del linguaggio JavaScript
    • Analisi dei molteplici design pattern formalizzati appositamente per questa tipologia di linguaggi (e alcuni definiti specificatamente per JavaScript)
    • Studio di alcuni framework standard: es. JQuery o NodeJS

Matlab
Leader incontrastato nel campo del calcolo scientifico/numerico, Matlab è lo strumento oggi più diffuso nelle università e nelle aziende che vantano team di ricerca applicata e sviluppo in praticamente ogni ambito della computer-science. 

Octave
In ambito open-source non poteva mancare uno strumento compatibile e dalle stesse potenzialità di Matlab: Octave nasce come versione open di Matlab per crescere ed integrarsi con strumenti esterni quali R, LaTex e Gluplot. A fronte dell’esigenza di sviluppare prototipi o strumenti di produzione che effettuino calcolo numerico, scientifico, di elaborazione numerica dei segnali o delle immagini, di intelligenza artificiale o di calcolo statistico, questo strumento rappresenta uno dei migliori che possano essere selezionati.

Nonostante il proliferare di framework Web/Enterprise sia in ambito Java che .NET, PHP resta un linguaggio ancora utilizzato in molti ambiti tra cui principalmente quello Web. Dopo l’evoluzione di PHP5 si è giunti ad un linguaggio completamente OO, le cui migliorie hanno preso spunto dai linguaggi typesafe Java e C#, senza però perdere il proprio carattere di linguaggio di scripting. 

Contenuti del corso

    • Sintassi e semantica del linguaggio
    • Strumenti di libreria messi a disposizione 
    • Design pattern da applicare sia in ambito Web che per realizzare script di gestione di sistema 

Un linguaggio che miscela perfettamente i paradigmi procedurale, object-oriented, object-based e funzionale mantenendo un’estrema eleganza e flessibilità.
Oggi viene utilizzato per ogni campo, dalla realizzazione di automazioni di sistema al calcolo scientifico. Si presta, inoltre, alla realizzazione di applicazioni ad alta richiesta di risorse grazie al JITting (Just In Time compiling) offerto da PyPy. Oltre a tutto questo, Python vanta un parco librerie vastissimo e completo: di interesse possono essere citati Twisted (networking), Django (web applications), SciPy e NumPy (calcolo scientifico), SQLObject (DB access tramite ORM), PyGtk e PyQt (interfacce grafiche), PIL (image processing), … multi-threading, XML, HTML e molto altro.
Questo linguaggio, attualmente presente anche in ambienti come Android e Blender, rappresenta il coltellino svizzero di qualunque programmatore o amministratore di sistema. 

Questo linguaggio di programmazione, nato come alternativa open di S, è oggi lo strumento più utilizzato per il calcolo statistico. 

Contenuti del corso

Nel corso si prevede di analizzarne le caratteristiche funzionali e object-oriented, esplorando il vasto parco di funzionalità offerte per l’analisi di dati. 
Il corso ha lo scopo di rinfrescare anche nozioni di statistica e teoria del calcolo delle probabilità.

E’ possibile offrire un corso di Machine Learning parallelamente alla formazione su questo linguaggio.

Scala è un linguaggio di programmazione di tipo general-purpose multi-paradigma studiato per integrare le caratteristiche e funzionalità dei linguaggi orientati agli oggetti e dei linguaggi funzionali. La compilazione di codice sorgente Scala produce Java bytecode per l'esecuzione su una JVM. 

Contenuti del corso 

    • Introduzione a Scala: ambiente, linguaggio, ecosistema
    • Introduzione a SBT
    • Sintassi base di Scala
    • OOP, generici, cenni su THK
    • Programmazione funzionale, ricorsione, strutture dati immutabili/persistenti
    • Design-patterns funzionali
    • Introduzione all'actor-model con Akka
    • Introduzione a Play integrato in Akka
    • Introduzione a Spark
    • Introduzione ad ElasticSearch 
    • Introduzione Kafka 

L’elaborazione delle immagini e la Computer Vision sono entrate ufficialmente in un enorme numero di applicazioni, dall’automotive all’automazione industriale. Le teorie riguardanti il Machine Learning, la Computer Vision e l’Image Processing permettono oggi di effettuare analisi automatizzata della qualità del prodotto, misurazioni ad alta precisione, monitoraggio in tempo reale di ambienti e l’interpretazione della realtà che ci circonda. In ambito open-source si vedono, oramai, a maturazione strumenti come le OpenCV (attualmente alla versione 4.x) integrate anche nei dispositivi mobili che utilizziamo tutti i giorni.

Il corso si pone come scopo una rapida carrellata delle teorie di base relative all'elaborazione delle immagini, della Computer Vision e del Machine Learning, per poi affrontare dei casi di studio in cui si realizzano applicazioni che applicano tali teorie sfruttando gli strumenti offerti dalla comunità open-source.

Contenuti del corso

  • Introduzione al Machine Learning
    • Tassonomia dei problemi affrontati dal ML
      • Supervisionati/Semi-Supervisionati/Non Supervisionati
      • Classificazione/Regressione/Clustering
      • Inferenza/Predizione/Generazione
    • Tassonomia degli algoritmi utilizzati dal ML
      • Algebrici/Geometrici/Probabilistici
      • Stocastici/Deterministici
      • Ottimizzazione/Euristica
    • Aree attive del ML
      • Deep Learning
      • Distributed Training 
  • DATA Preprocessing (in R)
    • Introduzione al Pre-Processing dei dati
    • PCA
      • Componenti principali
      • Whitenting/Sphering
      • Cenni su altri metodi: ICA, Projection Pursuit
    • Caso lineare con PCA
    • Stimatori statistici basati su kNN 
  • Clustering (in R)
    • Clustering per partizionamento
      • K-Means
      • Selezione del numero di cluster
    • Clustering gerarchico
      • Hclust (in R)
      • Dendrogrammi 
      • Analisi dei cluster
  • Regressione
    • Lineare
    • Problematiche & Soluzioni
      • Overfitting
      • Underfitting
      • Outlier
  • Classificazione
    • Per distanza
      • NN
      • kNN
    • Alberi decisionali
      • ID3, C4.5, C5.0
      • CART
      • Random-Forest (bagging)
    • Classificatori binari lineari
      • LDA, IPCAC
      • SVM
    • Classificatori kernel
    • Classificatori Bayesiani
      • Naïve Bayes
  • Reti neurali (Python + Tensor Flow)
    • Neuroni reali/artificiali
    • Back-propagation e la discesa del gradiente
    • Tipi di reti
      • Il percettrone multi-strato
      • Reti convoluzionali
      • Altre (reti ricorrenti bidirezionali, LSTM)
    • Esempi di applicazioni
      • Regressione
      • Classificazione
    • Deep-Learning

Questo corso affronta gli argomenti di base relativi alla struttura, l’accesso e lo sviluppo di applicazioni per il sistema operativo (SO) Android. 

Non è richiesto alcun prerequisito su Android stesso; sono, invece, propedeutiche conoscenze relative al linguaggio Java. 

Contenuti del corso

Gli argomenti sono sostanzialmente suddivisi in due grossi gruppi: l’analisi della struttura del SO e lo sviluppo di app Java. 

 
    • Introduzione al mobile
    • Architettura di Android: macro-blocchi, processo di start-up, avvio di un’ app
    • Installazione degli strumenti di sviluppo/interazione
    • Interazione con il SO da shell, esplorazione della struttura del FS, struttura delle app installate
    • Analisi dei file di configurazione, librerie, customizzazione
    • Ripasso linguaggio Java (con focus su quello che serve di più in Android)
    • Realizzazione delle prime app: il manifest, le activity, le view
    • Strumenti per il testing e per il debugging
    • Il view-toolkit: definire le view nelle proprie activity usando l’XML
    • Il view-toolkit: dialog e toast
    • Il view-toolkit: task e back-stack, comunicazione con gli intent
    • Il view-toolkit: pattern per l’utilizzo di componenti complesse
    • Realizzazione di view custom
    • Le API del view-toolkit
    • Definire stili e temi, definire drawable in XML
    • Sviluppo di applicazioni con HTML5 e JavaScript integrate con le API di Android
    • Introduzione all’utilizzo di strumenti multimediali (video, audio)
    • Realizzazione di servizi locali, pattern per la realizzazione di servizi 

Questo corso ha lo scopo di offrire una visione d’insieme relativa agli strumenti di sviluppo e alle funzionalità offerte dall’SDK per la realizzazione di app Android anche complesse. 

Il corso è disegnato appositamente per permettere una visione d’insieme riducendo il livello di approfondimento del singolo argomento. Può essere utilizzato anche come corso di durata doppia, consentendo, così, un buon livello di approfondimento degli argomenti proposti.

Contenuti del corso 

    • Introduzione al mobile e all'architettura di Android
    • Installazione degli strumenti di sviluppo/interazione
    • Interazione con il SO da shell, esplorazione della struttura del FS, struttura delle app installate
    • Ripasso linguaggio Java (con focus su quello che serve di più in Android)
    • Realizzazione delle prime app: il manifest, le activity, le view
    • Strumenti per il testing e per il debugging
    • Il view-toolkit: definire le view nelle proprie activity usando l’XML
    • Il view-toolkit: task e back-stack, comunicazione con gli intent
    • Componenti delle app: Activity, Service, BroadcastReceiver, ContentProvider
    • Realizzazione di servizi locali, pattern per la realizzazione di servizi
    • Realizzazione di view custom
    • Gestione del touch, multi-touch e gesture
    • Persistenza su DB SQLite
    • Realizzazione di un ContentProvider
    • Interazione tra applicazioni
    • Realizzazione di home-widgets
    • Scheduling e notifications
    • Networking e utilizzo di servizi RESTful
    • Servizi di Google: mappe, backup, Text2Speach e Speach2Text
    • NFC e WiFi direct
    • Accesso ai sensori e alla telefonia
    • Animation framework

Questo corso può essere disegnato selezionando ed estendendo gli argomenti proposti per il corso Android Condensato. 

Contenuti del corso

Ai contenuti del corso Android Condensato possono essere aggiunti argomenti più tecnici come: 

    • NDK per lo sviluppo di applicazioni totalmente o parzialmente native (scritte in C/C++, implica l’argomento JNI nel caso i partecipanti non siano già preparati su tale argomento)
    • Realtà Aumentata con SDK di parti terze
    • Sviluppo di videogiochi con OpenGL ES
    • Ottimizzazione di applicazioni per Android
    • Sviluppo di app con linguaggi di scripting tramite SL4A
    • Altri argomenti proposti in ambito di sviluppo su sistema Android

Questo corso ha lo scopo di fornire conoscenze e capacità per lo sviluppo di componenti e applicazioni scalabili e distribuite aventi come piattaforma target Java Enterprise. In particolare, l’obiettivo è quello di analizzare gli strumenti offerti da JEE per lo sviluppo di componenti inerenti l’Enterprise Information System (EIS) e la Business-Logic (BL) di una soluzione server. 

Contenuti del corso

    • Modelli di applicazioni Enterprise/Web: dal sito statico all’applicazione distribuita
    • Cenni sull’utilizzo di Derby
    • JPA2: teoria sull’Object Relational Mapping (ORM)
    • JPA2: annotazioni, design pattern
      Generazione OO: Relational e Relational: OO
    • JPA2: configurazione (persistence.xml), in JSE, nell’Application Server (AS)
    • JPA2: API per operazioni CRUD, Criteria-Query, gestione transazioni
    • JPA2: JPAQL e strumenti di Result-Set Mapping
    • EJB3: Stateless Beans
      Persistenza, sicurezza, esecuzione schedulata e asincrona
    • EJB3: Stateful Beans
      Ciclo di vita, interazione con la sessione
    • EJB3: Message Driven Beans (MDB) e Java Messaging System (JMS)
    • Realizzazione di applicazioni client EE
    • JAAS e JACC: autenticazione e autorizzazione in JSE/JEE
    • WebServices basati su SOAP
    • WebServices RESTful
    • Java Connector Architecture (JCA)
 
 
 
  •  

Questo corso prevede come propedeutico il corso di Java Base; si consiglia per questo scopo di includere nozioni di XML e JDBC. 

Obiettivo del corso è quello di introdurre il partecipante all'utilizzo di alcune delle tecnologie Java per lo sviluppo di applicazioni Web. Dato l’enorme numero di framework esistenti si consiglia di selezionarne solamente un sottoinsieme o di spezzare il corso in due corsi distinti. 

Contenuti del corso

    • Analisi del protocollo HTTP
    • Modelli di applicazioni Web: dal sito statico all’applicazione distribuita 
    • Applicazioni Web basati sulle Servlet, filtri, listener, java-beans
    • Tecnologia JSP, introduzione all’Expression Language
    • Realizzazione di tag custom (sottoinsieme di tag-files, simple-tags, classic-tags)
    • Librerie di tag standard JSTL
    • Pattern per l’utilizzo combinato di Servlet e pagine JSP
    • Java Server Faces in sintassi JSP
    • JSF custom components
    • Java Server Faces in sintassi Facelet
    • Facelet custom components
    • Primefaces/ICEfaces
    • SpringCore e SpringMVC
    • Spring WebFlow 
    • Struts
    • Introduzione a JPA2/Hibernate e ORM
    • Introduzione a EJB3
    • Introduzione ai WebServices
 

Percorsi consigliati su 40 ore:

    • Obsoleto: HTTP, JSP, Custom Tags (tutti), JSTL, Pattern Servlet + JSP, JPA
    • Intermedio: JSP, Tag Files, JSTL, JSF in sintassi JSP, JSF Custom Components, JPA, EJB
    • Recente Facelet: JSF Facelet, Facelet Custom Components, Primefaces/ICEfaces, JPA, EJB
    • Recente Spring: SpringCore e SpringMVC, Spring WebFlow, JPA (Hibernate)
    • Recente Struts: Struts 2, JPA (Hibernate)

Lo scopo di questo corso è quello di poter partire da conoscenze del solo linguaggio Java per scoprire il mondo dei WebServices (SOAP e RESTful) dall’XML alle Service Oriented Architectures (SOA), nonché per comprendere e saper utilizzare gli strumenti messi a disposizione da vari framework Java che permettono di offrire e fruire servizi Web. 

Contenuti del corso 

    • Scopo e ruolo dei WS nelle SOA, problematiche affrontate, soluzioni proposte
    • Definizione del formato XML e del type-system XSD 
    • Descrittore di servizio WSDL, SOAP e Message Exchanging Patterns (MEPs)
    • JAX-WS: annotazioni, l’endpoint (SEI e SIB)
    • JAX-WS: il client e gli artefatti
    • JAX-B e JAX-WS: Object to Xml Mapping (OXM), wrapping XML a livello di messaggio
    • Interazione con JAX_WS tramite message-handling
    • Metro2 e le tube
    • Metro2 e WSIT: introduzione a Web-Services-Security (WSS)
    • Metro2: WS-Trust, WS-SecureConversation, WS-SecurityPolicy, WSReliableMessaging, WS-AtomicTransactions/Coordination, WS-MetadataExchange
    • JAX-RS: teoria sui RESTful Web-Services
    • JAX-RS: Jersey framework
    • JAX-RS: Restlet framework
    • Realizzazione, deploy e accesso a WS in un AS

In questo corso si propone al partecipante un percorso sistemistico di alfabetizzazione all’utilizzo di Linux come amministratore di sistema.

Contenuti del corso

    • Dall’installazione alla configurazione dei servizi di base
    • Interazione locale e remota con il sistema
    • Realizzazione di script di automazione
    • Gestione del disco
    • Gestione del file-system
    • Gestione degli utenti
    • Gestione delle librerie
    • Gestione dei moduli del kernel 
    • Molto altro fino a coprire completamente gli argomenti inerenti la certificazione LPIC livello 1 (esami 101 e 102)

Questo corso ha lo scopo di fornire concetti di architettura e configurazione di rete in cui gli strumenti utilizzati sono basati su Linux. 

Contenuti del corso

Vengono analizzate problematiche tipiche di configurazione di un server come:

    • Utilizzo di strumenti per la realizzazione di array RAID (es.: LVM) o la configurazione di fyle-system distribuiti
    • Interazione con Windows tramite SAMBA
    • Configurazione di servizi e strumenti come Apache, MySQL, SSH, VPN 

Verranno anche proposti argomenti inerenti l’High Availability (HA) tramite HeartBeat e Corosynch per la realizzazione di cluster ad alta affidabilità.

Gli argomenti proposti intendono coprire tutta la certificazione LPIC di livello 2 (esami 201 e 202).

Nell’era delle social-network è cresciuta l’esigenza di utilizzare strumenti di persistenza non relazionali, mentre gli RDBMS trovano naturale applicazione in molti ambiti, principalmente gestionali o di trattamento di strutture dati dallo schema fissato. Ambiti come le reti sociali o il retail hanno mostrato negli anni un’esigenza sempre maggiore di trovare alternative più flessibili: da qui la nascita delle tecnologie noSQL, tra cui MongoDB, uno degli esponenti a oggi maggiormente utilizzati. 

Questo corso ha lo scopo di introdurre il partecipante al mondo dei database noSQL, in particolare al modello definito da MongoDB, sia da un lato sistemistico che da un lato di sviluppo. 

Contenuti del corso

    • Database noSQL, modelli, vantaggi, svantaggi
    • Il modello documentale di MongoDB, analisi della struttura di un database
    • Installazione, configurazione, prime interazioni con MongoDB
    • Manipolare i dati da riga di comando: la sintassi JavaScript, le operazioni CRUD
    • Query in JS: semplici, filtering, aggregate, map/reduce, indici
    • Driver per accedere a MongoDB da altri linguaggi: focus sul driver Java
    • Object Relational Mapping (ORM) su MongoDB con Morphia
    • Configurazione di un ambiente con database singolo, replicato e distribuito

Sebbene sia divenuto famoso per lo sviluppo di applicazioni enterprise, il framework Spring nasce come strumento per favorire la definizione di astrazioni e componenti, nonché per la fruizione di paradigmi relativamente recenti come la programmazione orientata agli aspetti (AOP), l’inversione di controllo (IoC), lo sviluppo di applicazioni orientate alle componenti (CBD), la programmazione dichiarativa tramite l’utilizzo di annotazioni e l’applicazione di svariate altre metodologie. 

Contenuti del corso

    • Basi di SpringCore e SpringAop
    • Analisi degli strumenti proposti da Spring per la realizzazione di applicazioni Enterprise e Web, in particolare identificando le best-practices di utilizzi delle componenti a disposizione, di utilizzo di Spring in JSE e di integrazione di Spring in un application-server

Ogni cliente può personalizzare il proprio percorso formativo in base alle sue esigenze. 

Ha il massimo potere decisionale su obiettivi, moduli, durata, materiale e luogo di erogazione.

Esempio Percorso Personalizzato

Esperto Tecnologie Web

Il corso ha l’obiettivo di presentare i differenti paradigmi per la realizzazione di applicazioni Web 2.0 scalabili, realizzate seguendo i design-pattern enterprise descritti in letteratura e facenti parte delle best-practices. 

Contenuti del corso      

    • Overview: evoluzione del protocollo HTTP, tipologie di applicazioni WEB, CSS3 overview, trasformazioni e animazioni, creazione di interfacce responsive, SVG & Canvas, client-side storage, WebSockets
    • Enterprise Architectural Patterns per il Web: three-tiers architecture, service-oriented architecture (SOA), lambda-architecture, object-relational mapping, data de-normalization, query materialization, inversion of control/dependency injection, template page, model/view/controller, two-step view, one-page application e session management
    • JS: il linguaggio, cenni su TypeScript e ECMAScript, NodeJS
    • Framework client-side: JQuery, AngularJS
    • Framework server-side: PHP, JSP, Facelet, JAX-RS, Elixir, Phoenix, Ruby on rails
    • noSQL: intro, CAP-theorem, tipologie noSQL, Cassandra, Hypertable, MongoDB, CouchDB
    • Workshop: realizzazione di un’applicazione Web con metodologia Agile e architettura SOA

Durata: 5-10 giorni

Destinatari: professionisti IT con minima esperienza in ambito Web

Sede di erogazione: Sede del cliente (On.site)

 

Per richiedere maggiori informazioni o definire con noi il tuo programma personalizzato contattaci ora!

EVENTI

Un paio di volte all'anno apriamo la sede agli ospiti esterni per giornate aperte.
Resta aggiornato sulla prossima apertura, seguici sui canali social ufficiali: LinkedIn e Twitter

METODI DI EROGAZIONE

Permettiamo la fruizione dei nostri corsi tramite 3 modalità:

  • In.site: corsi erogati presso la sede di ARGO Vision. Capienza max. 15 persone
  • On.site: corsi erogati presso la sede del cliente.
  • Virtual.Class: corsi erogati da remoto su piattaforma dedicata. Max 500 persone in contemporanea.

TEMPI DI EROGAZIONE

A seconda del livello di personalizzazione, il tempo di preavviso e di organizzazione del corso variano:

  • Corso Standard
    Se non si ha la necessità di personalizzare un corso, il tempo di preavviso è conforme alle tempistiche organizzative.
  • Corso Personalizzato
    Se si decide di personalizzare un corso, è necessario accordarsi sul programma qualche giorno in anticipo rispetto all’inizio del corso.

MATERIALE

Il materiale necessario viene completamente erogato da ARGO Vision in anticipo rispetto alla partenza del corso.

DURATA

La durata dei corsi varia in base alle esigenze del cliente.

DESIDERI MAGGIORI INFORMAZIONI?

TORNA SU