Tecnico per la progettazione e lo sviluppo di applicazioni informatiche

Obiettivi:

Il percorso IFTS “Tecnico per la progettazione e lo sviluppo di applicazioni informatiche", viene proposto per la sesta volta per dare una risposta concreta alla richiesta di professionisti IT nel campo della programmazione che arriva dal mondo del lavoro.

La progressiva digitalizzazione innescata dal piano Industria 4.0 e dalla globalizzazione ha indotto importanti modifiche strutturali al sistema economico, modifiche che vedono nel software lo strumento principale d'integrazione dei processi.

Il ruolo dello sviluppatore software nella digitalizzazione è fondamentale e diventerà sempre di più un asset indispensabile. È profilo tra i più ricercati e versatili tra le professioni ICT, con una forte verticalizzazione sui linguaggi di sviluppo e la loro applicazione praticamente in qualsiasi ambito.

L’Operazione intende offrire una risposta sia a coloro che intendono avvicinarsi seriamente al mondo del coding per cercare la prima o una nuova occupazione, sia offrire una risposta alle aziende della filiera regionale ICT, afflitte da una persistente carenza di professionalità in possesso di elevate competenze tecniche e tecnologiche in grado di sostenere i processi di innovazione.


NUMERO VERDE:
800 915108
CATEGORIA
Con stage/tirocinio
LINEA
Post Diploma
FORMULA
Aula + Online
FINANZIAMENTO
Finanziato/Gratuito
DURATA
800 ore
STAGE/TIROCINIO
320 ore
CONDIVIDI

Destinatari

Il corso si rivolge a 20 giovani e adulti, non occupati od occupati, in possesso del diploma di istruzione secondaria superiore, residenti o domiciliati in Regione Emilia-Romagna.

L’accesso è consentito anche a coloro che possiedono l’ammissione al 5° anno dei percorsi liceali, a coloro che sono in possesso di diploma professionale conseguito in esito ai percorsi di 4° anno di IeFP nonché a coloro che non sono in possesso del diploma, previo accreditamento delle competenze acquisite 
in percorsi di istruzione, formazione e lavoro successivi all’assolvimento dell’obbligo di istruzione.

2 ulteriori posti sono resi disponibili per apprendisti contrattualizzati da imprese sottoscrittrici di specifico protocollo con l'istituzione formativa per il conseguimento del certificato di specializzazione tecnica superiore.


Competenze in uscita

È un tecnico in grado di:

  • Individuare gli strumenti di sviluppo del software per creare un prodotto conforme alle specifiche progettuali richieste dal cliente.
  • Utilizzare i linguaggi di programmazione (C#, Java, JavaScript, Python i più diffusi) e le regole della programmazione.
  • Conoscere e interagire con i principali sistemi operativi.
  • Sviluppare componenti per applicazioni distribuite (Web e Mobile).
  • Creare e gestire interfacce utente gradevoli e funzionali.
  • Interagire con i database.
  • Garantire l’interoperabilità tra sistemi diversi.
  • Effettuare test di funzionamento delle soluzioni in esercizio.
  • Implementare la sicurezza delle interfacce e la protezione dei dati.
  • Gestire la manutenzione delle applicazioni e produrre la relativa documentazione.

Contenuti del corso

Lettura e spiegazione regolamento, consegna del calendario
Profilo professionale
Struttura e articolazione dei moduli
Finalità del finanziamento FSE, destinatari e assi del finanziamento
Autopresentazione degli allievi
Differenze tra comunicare e trasmettere
Motivazione e proattività: la vera sfida       
La condizione umana: sfera d’influenza                                                         
L’importanza dell’autostima                                                                          
I pre-requisiti per una comunicazione efficace: responsabilità, atteggiamenti, fiducia (la scala della fiducia), principi della comunicazione (cosa dire e come dirlo)
I canali della comunicazione 
Le fasi di costruzione di una relazione (apertura, rispecchiamento)    
Il linguaggio del corpo
L’ascolto e l’ascolto attivo 
I riconoscimenti
Attenzione / Attenzione selettiva
I conflitti e la loro gestione 
Gestire obiezioni e dubbi: anticipazione, risposta, negoziazione
Preparazione al colloquio di lavoro ed elaborazione del CV
Il colloquio di lavoro, tecnica delle domande
Sviluppo della leadership
 
L’importanza della prevenzione e della corretta percezione del rischio
Gli aspetti generali del D. Lgs. n. 81 -  9 aprile 2008 e i soggetti della prevenzione
Concetto di rischio; concetto di danno; concetto di prevenzione; concetto di protezione
Organizzazione della prevenzione aziendale; diritti, doveri e sanzioni per i vari soggetti aziendali
Il documento di valutazione dei rischi (DVR)
Test per il rilascio dell’attestato per la formazione generale (Accordo Stato Regioni 21/12/2011) e per la formazione a rischio basso

Il modulo sarà svolto in modalità FAD, di cui 4 ore per la FG e 4 per la formazione Rischio Basso.
 
Elementi di matematica applicata alla statistica
Rilevazione e rappresentazione dati
Indici di dispersione
Probabilità
Formule: Tipologia, inserimento, indirizzi relativi - assoluti - misti
Funzioni: Generalità ed uso delle principali Matematiche, Logiche e Riferimento, anche nidificate
Analizzare precedenze e dipendenze, Controllo celle
Errori di formule e loro valutazione
Formattazione condizionale ed avanzata a elenchi
Definire e applicare Filtri ed Ordinamento dati anche in modalità avanzata; Tabella; Subtotale
Gestione dati: Importare file testo o web in Excel
Grafici: Definizione, selezione dati, individuazione tipo, tipologia numerica, editing, tipologia temporale
Analisi dati: Raggruppare/Separare le strutture dati; inserimento guidato dati; utilizzo della Convalida dei dati; Consolida
Tabella pivot - Dashboard
Ripasso della logica della lingua inglese: i tempi verbali visti come un sistema
Programmare attività aziendali : ripasso futuro dei verbi, esprimere obiettivi/programmi
Descrivere prodotti/servizi: ordine di aggettivi, forme/materiali, Descrizione di funzione e utilizzo
Parlare di idee : passato semplice/continuo, sequenze sostantivo/aggettivo, partecipare/gestire riunioni, esprimere idee/opinioni
Innovazione: seguire/fare una presentazione, preposizioni di tempo, verbo al passivo, vocaboli per esprimere innovazioni
Terminologia tecnica di settore nell’ ambito dell’ICT
 
Organizzazione aziendale (8 ore FAD)
Effetti delle organizzazioni su comportamenti e atteggiamenti individuali
Azienda come sistema efficace ed efficiente
Obiettivi e risorse dell’organizzazione
Mission, vision, valori e cultura aziendale
I processi e le funzioni aziendali
Ruolo e flussi di lavoro e di comunicazione
Poteri e responsabilità
Gli stili di leadership e di gestione delle persone in azienda
L’organigramma
Know-how e comportamenti organizzativi
Fonti documentali che regolano la vita lavorativa e l’impresa

Visita guidata al Digital Automation Lab

Transizione verde e digitale:
Case history di “evoluzioni digitali” nelle imprese 4.0, nei processi e nei prodotti
I nuovi “rischi digitali” e la cybersecurity
Vecchie e nuove risorse energetiche
Misurare l’impatto dell’impresa, LCA e Carbon Footprint ma anche sicurezza sul lavoro e ergonomie
Sostenibilità ed efficienza: produzione, logistica e distribuzione
Comunità energetiche e piano nazionale per il fotovoltaico
Normative e agevolazioni (cenni ISO 14001, ISO 50001)
Architettura dei sistemi di elaborazione. 
Introduzione ai sistemi operativi Windows e Linux
Amministrazione ordinaria di un S.O.
Concetto di server e client, ruolo dei server
Gestione utenti e gruppi
Condivisione dei risorse in rete.
Concetti base di networking e comunicazioni
Tipologie e topologie di reti
Ethernet: cenni su schede di rete e switch
Cos’è il Protocollo TCP/IP
Indirizzamento automatico con DHCP
Problemi e algoritmi
Algebra booleana, Operatori logici
Rappresentazione algoritmi
Ambiente di sviluppo, Compilatore
Framework .NET: cos’è e come funziona
Console application in C# (intro)
Struttura, variabili e costanti
Input e Output
Programma Hello World
La selezione: if
Cicli 
Metodi, Parametri, Ricorsione
Gestione eccezioni
Array e strutture dati
Funzioni: definizione e passaggio parametri
Input ed output dei dati
Accesso ai files di testo
Installazioni pacchetti nuget
Lettura/scrittura da/su file excel

Introduzione alla programmazione a oggetti 
Classi e oggetti
Incapsulamento1
Eredità, polimorfismo 
Overload, Override 
Virtual e Abstract
 
atabase: definizione, utilità e vantaggi
DBMS: definizione, vantaggi, svantaggi e tipologie sul mercato
Progettazione di base dati: dall’ideazione all’estrazione di informazioni. 
Modelli dei dati esistenti e introduzione al modello ER.
Introduzione a SSMS: DBMS ed elementi dell’interfaccia (sicurezza, database, tabelle, query)
Creare le tabelle, PK e FK su SSMS da interfaccia
Introduzione a SQL/DDL: sintassi per la creazione/cancellazione di un database e di una tabella.
Query di selezione semplice
Funzioni di aggregazione: MIN MAX AVG COUNT
Ordinamento: Order by desc e asc
Raggruppamento: Group by e having. Differenze having e where
Creazione di viste: comando view
Interrogazioni SQL: EXISTS, NOT, ANY, ALL, UNION
Cenni Stored procedure: caso d’uso
Permessi accesso database: creare utenti, gestione dei permessi
Utilizzare database in applicazione c#: classi principali, creazione utente autenticazione SQL Server
 
Fondamenti di Python:Strutture dati, Liste, Dizionari, Stringhe e file, Funzioni
Jupyter :notebook per lo sviluppo di progetti python
Pandas : strutture dati e operazioni base
Pandas: filtri, merge, operazioni aggiuntive
Programmazione ad oggetti in Python
Matplotlib :libreria per la creazione di grafici
Concetti di Machine learning
Sklearn open source di apprendimento automatico 
Sklearn classificazione e regressione
Integrazione con moduli esterni in C, C++, Java
Introduzione a HTML ed elementi base: editors, ispezione pagine dal browser e tools in supporto allo sviluppo html, strutture delle pagine web, layout, buone pratiche di progettazione ed elementi principali 
HTML: immagini, video, canvas, link, tabelle, liste e creazione di un menu di navigazione, form
CSS: applicare lo stile alle pagine web(sfondi, colori, posizione nella pagina, margini, padding, dropdown menù). Concetto di sito responsive. ID e CLASS per la gestione dello stile
JAVASCRIPT: aspetti principali, rendere interattiva la pagina web. Brevi cenni a BOM e DOM.  
Accedere e modificare gli elementi della pagina(HTML e CSS) e gestione degli eventi
Realizzazione pagine web responsive con Bootstrap. Javscript e jquery.
Progetto in Javascript
Programmazione a oggetti, concetti fondamentali.
OOP: introduzione. Piattaforma Java
Sintasi Java: variabili, operatori aritmetici e logici. Arrray
Strutture di controllo di flusso: istruzioni condizionali e cicli iterativi
Metodi. Classi e oggetti
Package. Visibilità. Commenti Javadoc 
Gestione memoria JVM. Stringhe 
Ereditarietà e polimorfismo
Interfacce e classi astratte
Input e output
Gestione delle eccezioni
JDBC
GUI: interfacce grafiche e programmazione a eventi
Introduzione ad Android Studio, editor e impostazione delle variabili di sistema
Panoramica su View, ViewGroup, widget e risorse di un'app
Studio, realizzazione e test di una prima, semplice app
Testing di App con emulatori e dispositivi mobili reali
Studio del ciclo di vita delle Activity e relativi metodi
Gestione dei ConstraintLayout 
Eventi utente, MotionEvent
Interfacce per eventi e gesture
Comunicazione tra Activity e Fragment e viceversa
Gestione di menu Overflow
ListView con Adapter
Creazione di un’app con più interfacce gestite da tab
ViewHolder, onBindViewHolder, gestione strutture dati
Intent impliciti, espliciti e Intent-filter
I Broadcast Receivers
Thread e AsyncTask
Caricamento e gestione dati JSON. Chiamate remote HTTP
 
Laboratorio applicativo di gaming: attività interdisciplinare che permette agli studenti, di mettere in pratica molte delle nozioni acquisite 
con i moduli standard sui linguaggi di programmazione. Verrà dato particolare risalto alle animazioni, la gestione delle gesture, la possibilità di 
disegnare elementi interattivi e si potrebbe pensare di utilizzare alcuni dei sensori del telefono come l'accelerometro
La sperimentazione della gamification si base sulll’utilizzo di elementi di game design in contesti diversi dal gioco per raggiungere un determinato 
obiettivo (Es: divertire, motivare, coinvolgere, vendere)”
Questi sono i quattro elementi chiave della gamification:
Una sfida o la definizione di uno specifico obiettivo
Ostacoli o sfide da superare per raggiungere l’obiettivo
Incentivi o ricompense per il raggiungimento dell’obiettivo
Regole ludiche che definiscono l’interazione degli utenti con il gioco
Il concetto di prendere gli elementi essenziali del gioco – divertimento, apertura, creatività e sfida – e applicarli agli obiettivi del mondo reale (piuttosto che al puro divertimento) non aumenta solo il coinvolgimento, ma rafforza anche la rapidità dei processi decisionali
 
Introduzione a UML
Modelli di processo, sviluppo e specifica dei requisiti software
Modelli a cascata, RUP, Agili
Cos’è e a cosa serve il Mockup
Requisiti del software (IEEE830)
Diagramma delle classi/oggetti, dei package/casi d’uso, di stato/attività/sequenza
Metodologia Agile
Modello Scrum, controllo empirico dei processi 
Applicazione Agile/Scrum nel progetto interdisciplinare
La sicurezza fisica e logica 
Valutazione dei rischi 
I Malware 
I Virus 
Strumenti di protezione 
Antivirus 
Protezione della rete 
Hardening dei sistemi operativi 
Crittografia chiave pubblica
Certificati SSL
Deep Web e Dark Web
Caratteristiche dei principali sistemi operativi client e server in relazione ai problemi di installazione
Integrazione tra applicazioni 
Creazione di programmi di installazione 
Configurazione lato client e lato server
Distribuzioni dell’applicazione
Versioning del software
 

Requisiti in ingresso

L’ammissione al corso è subordinata al superamento di prove di selezione attitudinali, tecniche e colloquio motivazionale.

La prova scritta consiste in domande di tipo attitudinale, volte a misurare la capacità di esecuzione e riuscita in differenti aree significative per la figura professionale in uscita dal percorso, e domande di tipo tecnico, risposta chiusa e/o aperta, inerenti a: informatica di base, conoscenza basilare di almeno un linguaggio di programmazione, lingua inglese tecnica.

Il colloquio individuale avverrà alla presenza di due commissari e ha lo scopo di esaminare e valutare le attitudini e le esperienze formative e professionali del candidato rispetto al profilo in esame, oltre agli aspetti relazionali e di comunicazione.

È richiesto ai candidati di presentarsi con un CV aggiornato.


Sbocchi occupazionali

Il “Tecnico per la progettazione e lo sviluppo di applicazioni informatiche” è la figura professionale che conosce tutti gli aspetti della programmazione. Ha una visione completa di quello che è il mondo della programmazione ed è in grado di sviluppare progetti in modo autonomo grazie alla conoscenza di una varietà di linguaggi e strumenti per la creazione del software, applicabili in molteplici ambiti.

Il suo ruolo è quello di scrivere il codice e capire il miglior modo per far interagire l’utente con siti web e software applicativi di vario tipo. È in grado di creare interfacce gradevoli e pratiche per soddisfare le esigenze del committente, sia che si tratti di portali web, di applicazioni per dispositivi mobili o di software per creare reti di oggetti intelligenti (IoT).

Le prospettive occupazionali sono principalmente in aziende del settore ICT, che sviluppano servizi per svariati ambiti settoriali come l’automazione industriale, programmi per la visualizzazione/analisi di big data, servizi software in cloud, applicazioni per dispositivi mobili, e molto altro ancora.

Oltre che in aziende di servizi IT che sviluppano applicazioni software, può trovare occupazione in agenzie web, agenzie di comunicazione e imprese di qualsivoglia settore che realizzano internamente la funzione di sviluppo, personalizzazione o manutenzione del software utilizzato.

Certificazioni

  • Certificato di specializzazione tecnica superiore

Descrizione certificazione

Al termine della formazione verrà rilasciato, previo superamento di un esame finale, un Certificato di specializzazione tecnica in "Tecniche per la progettazione e lo sviluppo di applicazioni informatiche".

Estremi finanziamento

Operazione Rif. PA 2022-17339/RER approvata con Deliberazione di Giunta Regionale n. 1379 del 01/08/2022 cofinanziata con risorse del FSE+ 2021-2027 e della Regione Emilia-Romagna.

Note

Il corso prevede 800 ore suddivise nel seguente modo:

Formazione d'Aula: 464 ore in modalità in presenza  (oppure a distanza in videoconferenza se sarà reso necessario dall'evoluzione della situazione epidemiologica)
FAD: 16 ore (formazione e-learning asincrona)
Stage: 320 ore

IFOA metterà a disposizione, in uso per la durata del corso, pc portatili agli allievi che non dispongono di idonea attrezzatura per poter svolgere simulazioni, verifiche e in genere la parte interattiva delle lezioni.

Il corso è completamente gratuito.

Le iscrizioni al corso sono terminate. Le attività del corso sono in fase di svolgimento, contattaci per maggiori informazioni

Enti Finanziatori


Partners

Università di Modena e Reggio E. - AIRI- Artificial Intellingence Research and Innovation Center; IIS "Blaise Pascal" Reggio Emilia; IIS Silvio d'Arzo; CIS Scuola per la Gestione d'Impresa Scarl; Fondazione REI; The HUB Reggio Emilia; Errevi System Srl; Ingfor Srl; Guglielmo Srl; Nexion Spa; Quix Srl; DM Management & Consulting Srl; Energee3 Srl; Polo Digitale Srl; Studio Il Granello; Infolog Spa; Atobit Srl; Netribe Business Solutions.


Corsi correlati

Richiedi info
(ci permette di fornirti un servizio più veloce e preciso)
Informativa Privacy (Reg. UE 2016/679)
L'informativa estesa relativa al trattamento dei suoi dati personali da parte IFOA la trova all'indirizzo https://www.privacylab.it/informativa.php?09395343333
Presta inoltre il suo consenso al trattamento dei dati personali per le finalità facoltative sotto riportate?
Invio di comunicazione su eventi, servizi e prodotti Ifoa