Insegnamento PROGRAMMAZIONE WEB E MOBILE CON LAB.
Nome del corso di laurea | Informatica |
---|---|
Codice insegnamento | A002065 |
Curriculum | Comune a tutti i curricula |
Docente responsabile | Marco Baioletti |
Docenti |
|
Ore |
|
CFU | 6 |
Regolamento | Coorte 2020 |
Erogato | Erogato nel 2022/23 |
Attività | Caratterizzante |
Ambito | Discipline informatiche |
Settore | INF/01 |
Anno | 3 |
Periodo | Secondo Semestre |
Tipo insegnamento | Opzionale (Optional) |
Tipo attività | Attività formativa monodisciplinare |
Lingua insegnamento | ITALIANO |
Contenuti | Prima parte: programmazione web Introduzione a HTML e CSS Il linguaggio Javascript Un framework basato su Javascript (ad esempio Angular 2) Un linguaggio di programmazione lato server (ad esempio Node.js) Seconda parte: programmazione mobile Il linguaggio di programmazione Kotlin Programmazione in Android |
Testi di riferimento | dispense a cura del docente sito web Kotlin in Action D. Jemerov and S. Isakova Manning Publications, 2017 JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language David Flanagan O'Reilly Media, 2020 |
Obiettivi formativi | L'insegnamento rappresenta un corso avanzato di programmazione. Esamina concetti avanzati di programmazione orientata agli oggetti. Affronta alcune tematiche nella gestione della concorrenza e della programmazione funzionale. Esplora i dettagli della programmazione web e mobile. L'obbiettivo principale del corso consiste nel fornire agli studenti gli strumenti e le conoscenze necessarie a progettare e implementare applicazioni in ambito mobile e web. Le principali conoscenze acquisite saranno *programmazione web lato client *programmazione web lato server *elementi avanzati della programmazione orientata agli oggetti *aspetti di base della gestione della concorrenza e della programmazione funzionale *programmazione mobile Le principali abilita' acquisite saranno *utilizzo di tool di sviluppo *progettazione di interfacce utenti *realizzazione di applicazioni web-mobile di piccola-media grandezza |
Prerequisiti | programmazione procedurale programmazione orientata agli oggetti corso di base di reti |
Metodi didattici | lezioni frontali teoriche esempi tramite l'uso del computer eventuale "flipped classroom" |
Modalità di verifica dell'apprendimento | L'esame e' composto da due prove 1) svolgimento a casa di un progetto di programmazione individuale. Lo scopo di tale prova e' verificare le conoscenze dello studente in merito alla programmazione web e mobile agli oggetti e allo sviluppo di applicazioni 2) prova orale, in cui sara' richiesto allo studente di presentare il progetto e di approfondire alcune tematiche teoriche. Lo scopo della seconda parte e' di accertare il livello di conoscenza, la capacità di comprensione e la proprietà di linguaggio raggiunti dallo studente. Gli studenti non di madre lingua italiana possono sostenere l'esame anche in lingua francese o inglese Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa |
Programma esteso | Prima parte: programmazione web Linguaggi per la progettazione web 1. HTML 2. CSS 3. XML Il linguaggio Javascript 1. nozioni di base 2. programmazione procedurale 3. definizione e uso di funzioni 4. programmazione ad oggetti 5. gestione degli eventi 6. accesso alla pagina (DOM e BOM) 7. programmazione asincrona Un framework basato su Javascript (ad esempio Angular 2) Un linguaggio di programmazione lato server (ad esempio Node.js) 1. Gestione richieste 2. Uso di pagine template 3. Accesso al database Seconda parte: programmazione mobile Il linguaggio di programmazione Kotlin 1. Concetti di base 2. Programmazione procedurale 3. Programmazione ad oggetti 4. Contenitori 5. Programmazione funzionale 6. Programmazione concorrente Programmazione in Android 1. Concetti di base di Android 2. Creazione e gestione dell'interfaccia utente 3. Gestione dei dati in locale 4. Accesso alla rete 5. Gestione dei dispositivi di tracciamento e dei sensori |