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 quarta 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 di integrazione dei processi.

Il ruolo professionale che si intende formare è lo sviluppatore software, forse il più ricercato tra le professioni ICT già prima dell’insorgere dell’emergenza sanitaria. 

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
FINANZIAMENTO
Finanziato/Gratuito
DURATA
800 ore
STAGE/TIROCINIO
320 ore
CONDIVIDI

Destinatari

20 Giovani e adulti, non occupati o 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 applicando i principi della User Experience.
  • 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
  • Protocolli di contrasto al Covid-19

Il modulo sarà svolto in modalità FAD, di cui 8 ore per la FG e a Rischio Basso + 1 ora sulle norme di contrasto al COVID-19.

  • 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
  • Strumenti di on line collaboration (cloud, file sharing, sistemi di comunicazione istantanea, strumenti per videoconferenza, call conference, device mobili)

La parte iniziale del modulo sarà svolta in modalità FAD.

  • 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 (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
  • Sostenibilità (FAD) 
    • Il concetto dei limiti del pianeta
    • La nascita e l’evoluzione del pensiero ecologista
    • Convenzioni internazionali e Agenda 2030 SDGs
    • Impronta ecologica e overshoot day
    • Ecologia: dalla teoria alla pratica
    • Sostenibilità, economia circolare, transizione ecologica
    • LCA ed eco design
    • Lo straordinario potere del consumatore
  • Testimonianze aziendali
  • Architettura dei sistemi di elaborazione. 
  • Caratteristiche principali del s.o. Windows 
  • Amministrazione ordinaria
  • Concetto di server e client, ruolo dei server
  • Gestione utenti e gruppi
  • Condivisione dei risorse in rete.
  • Concetti base di networking e comunicazioni
  • Tipologie di rete
  • Apparati: Hubs, Switches, Routers
  • Il modello OSI: l'architettura a livelli
  • Dimensionamento della rete (Bandwidth, limitazioni, troughput di rete)
  • Elementi base tecnologia web e protocolli di rete 
  • Il protocollo TCP /IP: indirizzi Ip, subnet mask, classi di IP
  • Basi di Routing
  • 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
  • Definizione di database e modelli di dati
  • DBMS, RDBMS e le regole di CODD
  • Chiavi e relazioni
  • Forme normali
  • Integrità referenziale
  • Il Linguaggio SQL: definizione e Manipolazione dei Dati in SQL
  • Query di selezione, inserimento, cancellazione, aggiornamento
  • Query innestate e raggruppamenti
  • Database MySQL o SQL Server: interfaccia e interrogazioni
  • User functions
  • Triggers
  • Sintassi di accesso ai dati:  Connection, Command, DataReader, DataAdapter, DataSet
  • Query lato server e lato client
  • Visualizzazione dei dati
  • Cenni a LINQ e LAMBDA Expressions
  • 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
  • Introduzione a JAVASCRIPT: aspetti principali, rendere interattiva la pagina web. Brevi cenni a BOM e DOM
  • JAVASCRIPT: Accedere e modificare gli elementi della pagina(HTML e CSS) e gestione degli eventi
  • Caso di studio: Progetto di un sito web personale
  • 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 qualità e affidabilità dei sistemi informativi
  • Tipologie e motivazioni degli attacchi
  • Software antivirus in uso
  • Sicurezza di archivi e database: backup e recovery
  • Come evitare lo SPAM con l’uso di script per l’invio di e-mail
  • Sicurezza sul web: CMS e plugin di terze parti come rischi per la sicurezza dei siti
  • Crittografia e gestione dei certificati
  • Sicurezza del database
  • Protezione da attacchi specifici per le applicazioni web
  • Sicurezza dei client e dei browser
  • 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 è in grado di di operare in tutte le fasi dello sviluppo software: analisi, accesso ai dati e struttura dei database, sviluppo applicativo, funzionamento in rete, integrazione con il web.

La figura prevista in uscita è estremamente versatile e utilizza metodi e tecnologie per realizzare e gestire lo sviluppo di sistemi software in ambienti molto diversi: si tratta del “full-stack” developer, ovvero lo sviluppatore che opera sull’intero stack tecnologico del coding, applicando tecnologie e soluzioni sia di front-end che di back-end.

Può trovare occupazione in aziende di servizi IT che sviluppano applicazioni software, 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 superiore in “Tecniche per la progettazione e lo sviluppo di applicazioni informatiche"

Estremi finanziamento

Operazione Rif. PA 2021-15993/RER approvata con deliberazione di Giunta Regionale n.DGR 1263/2021 del 02/08/2021 e cofinanziata con risorse del Fondo sociale europeo e della Regione Emilia-Romagna.

 

Note

Il corso prevede 800 ore suddivise nel seguente modo:

  • Formazione d'Aula: 453 ore (in modalità in presenza e a distanza in videoconferenza, a seconda dell'evoluzione della situazione epidemiologica)
  • FAD: 27 ore (formazione e-learning asincrona)
  • Stage: 320 ore

Poiché si ipotizza che parte delle lezioni avverranno a distanza seppure in modalità sincrona, 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.


Enti Finanziatori


Partners

Università di Modena e Reggio E. - AIRI- Artificial Intellingence Research and Innovation Center; IIS "Blaise Pascal Reggio Emilia; CIS Scuola per la Gestione d'Impresa Scarl; The HUB Reggio Emilia; Errevi System Srl; Ingfor Srl; Guglielmo Srl; Nexion Spa; DM Management & Consulting Srl;  nergee3 Srl; SevenIt Srl; FTP Srl;
Infolog Spa; AppAway Srl; Naviger Srl; Netribe Business Solutions Srl
 

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