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 915108CATEGORIA
Con stage/tirocinio
LINEA
Post Diploma
FORMULA
Aula + Online
FINANZIAMENTO
Finanziato/Gratuito
DURATA
800 ore
STAGE/TIROCINIO
320 ore
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
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
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.
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
Corso esperto di comunicazione e soluzioni grafiche
Categoria: Con stage/tirocinio
Finanziamento: Finanziato/Gratuito
Area tematica: Digitale
Linea corso: Post Diploma
Provincia: Milano
Modalità:
Corso Addetto all'amministrazione del personale e busta paga
Categoria: Con stage/tirocinio
Finanziamento: Finanziato/Gratuito
Area tematica: Risorse Umane
Linea corso: Post Diploma
Provincia: Reggio Emilia
Modalità:
Corso Full Stack Developer
Categoria: Con stage/tirocinio
Finanziamento: Finanziato/Gratuito
Area tematica: Digitale
Linea corso: Post Diploma
Provincia: Reggio Emilia
Modalità:
Tecnico della gestione delle reti e della cybersecurity
Categoria: Con stage/tirocinio
Finanziamento: Finanziato/Gratuito
Area tematica: Digitale
Linea corso: Post Diploma
Modalità:
SYSTEM AND NETWORK MANAGEMENT SPECIALIST: dalla gestione di sistemi informativi alla progettazione di infrastrutture di rete moderne
Categoria: Con stage/tirocinio
Finanziamento: Non finanziato
Area tematica: Digitale
Linea corso: Post Diploma
Progettista meccanico esperto in CAD 3D e Additive Manufacturing
Categoria: Con stage/tirocinio
Finanziamento: Finanziato/Gratuito
Area tematica: Digitale
Linea corso: Post Diploma
Modalità:
Tecnico Informatico per l’informatica medica
Categoria: Con stage/tirocinio
Finanziamento: Finanziato/Gratuito
Area tematica: Digitale
Linea corso: Post Diploma
Modalità:
Corso per Tecnico di programmazione PLC - PLC Junior Developer
Categoria: Con stage/tirocinio
Finanziamento: Finanziato/Gratuito
Area tematica: Digitale
Linea corso: Post Diploma
Modalità:
Corso specialista in editoria digitale e progetti multimediali
Categoria: Con stage/tirocinio
Finanziamento: Finanziato/Gratuito
Area tematica: Digitale
Linea corso: Post Diploma
Modalità: