Indirizzo: Informatica e Telecomunicazioni / Articolazione: Informatica Disciplina: Tecnologie e progettazione di sistemi informatici e di telecomunicazioni Competenze: → → → → → Sviluppare applicazioni informatiche per reti locali o servizi a distanza Scegliere dispositivi e strumenti in base alle loro caratteristiche funzionali Gestire progetti secondo le procedure e gli standard previsti dai sistemi aziendali di gestione della qualità e della sicurezza Gestire processi produttivi correlati a funzioni aziendali Redigere relazioni tecniche e documentare le attività individuali e di gruppo relative a situazioni professionali III Anno Abilità (saper fare) Identificare ed analizzare gli aspetti funzionali dei principali componenti di un sistema operativo Realizzare e verificare programmi in linguaggio C per sistema operativo Linux con ricorso a funzionalità di “basso livello” Progettare e realizzare programmi applicativi in linguaggio C che interagiscono con le funzionalità del sistema operativo Linux: allocazione della memoria, gestione dei file, gestione dell’I/O Conoscenze (sapere) Architettura del computer: “macchina” di Von Neumann Principi di teoria e di codifica dell’informazione Classificazione e funzionamento generale dei sistemi operativi; struttura e organizzazione di un sistema operativo Classificazione e moduli di gestione delle risorse del sistema operativo: politiche di gestione dei processi, tecniche di gestione della memoria, caratteristiche del sistema dei file, modalità di gestione dell’I/O Esempi significativi di funzionalità programmabili di un sistema operativo: allocazione della memoria, gestione dei file, gestione dell’I/O IV Anno Abilità (saper fare) Scegliere il sistema operativo adeguato per lo sviluppo di un’applicazione software (Linux, Windows, Android) Realizzare le fasi del ciclo di sviluppo nel contesto di un progetto software utilizzando tecniche e strumenti adeguati Documentare utilizzando i diagrammi UML i requisiti e gli aspetti architetturali di un prodotto/servizio software Progettare e realizzare applicazioni concorrenti in linguaggio C per sistema operativo Linux Realizzare e verificare semplici applicazioni in linguaggio Java per sistema operativo Android Conoscenze (sapere) Fasi del ciclo di sviluppo del software Classificazione e documentazione delle specifiche e dei requisiti di un progetto software Rappresentazione dell’architettura dei componenti di un sistema software e delle loro relazioni ed interazioni mediante diagrammi UML Strumenti per la documentazione e la gestione del codice di un sistema software Tecniche e strumenti per il test di un sistema software Tecniche di programmazione concorrente e metodi di sincronizzazione dell’ accesso alle risorse condivise Programmazione applicata a sistemi operativi per dispositivi mobili Indirizzo: Informatica e Telecomunicazioni / Articolazione: Informatica Disciplina: Tecnologie e progettazione di sistemi informatici e di telecomunicazioni V Anno Abilità (saper fare) Sviluppare programmi comunicanti in rete per piattaforma Linux applicando il modello client/server Progettare semplici protocolli di livello applicativo Realizzare semplici applicazioni orientate ai servizi per ambiente Linux Progettare e verificare semplici applicazioni comunicanti n rete in linguaggio Java per sistema operativo Android Progettare e realizzare l’architettura di un prodotto/servizio software individuando e sviluppando le componenti tecnologiche Conoscenze (sapere) Modelli client/server e orientato ai servizi per la comunicazione di rete Tecniche e metodi per la programmazione di rete in linguaggio C con sistema operativo Linux Analisi dei protocolli client/server di livello applicativo: HTTP e protocolli ad-­‐hoc Strumenti e tecnologie per la realizzazione di web-­‐ service di tipo REST