CFU:
5 (40 ore)
Docente:
Prof. Alfonso Pierantonio
Bio del docente:
Alfonso Pierantonio e' Professore Ordinario in Informatica ed insegna i corsi di Tecnologie del Web e Model Driven Engineering. È docente del Master Mobile e Web Technologies dall'anno 2005. I suoi interessi di ricerca riguardamo la modellazione, la progettazione e realizzazione di linguaggi di modellazione domain-specific e i relativi ambienti di modellazione. Per maggiori informazioni: http://pieranton.io
Obiettivi:
Fornire agli studenti la conoscenza della programmazione web, la capacità di progettare e implementare applicazioni distribuite di dimensioni realistica, la capacità di rilevare e adottare le componenti fondamentali di un'applicazione, la conoscenza delle attuali tecniche e metodologie.
Prerequisiti:
Capacità di integrare gli argomenti svolti in aula con lo studio e lo sviluppo da svolgere individualmente, capacità di interagire con l'insegnante durante la lezione per avviare discussioni. Fondamenti di programmazione orientata agli oggetti e progettazione e implementazione di database.
Contenuti:
Gli argomenti comprendono:
- Architettura a tre livelli. Grafica e comunicazione.
- Programmazione lato client: HTML / CSS, DHTML, JavaScript / ECMAScript, DOM, jQuery.
- Programmazione lato server: PHP, MySQL, templating e separazione dei problemi (presentazione, logiche aziendali, logiche di presentazione).
- Gestione dei cookie e delle sessioni.
- Gest
- Caso di studio (ad es. Ecommerce, portale di notizie)
Al completamento con successo di questo modulo, lo studente dovrebbe:
- aver acquisito una buona conoscenza e comprensione dei concetti fondamentali nella progettazione e implementazione di applicazioni web.
- conoscere e comprendere la progettazione e l'implementazione di programmi informatici;
- comprendere le metodologie e le tecnologie necessarie per lo sviluppo di applicazioni web;
- essere in grado di applicare le tecniche e le tecnologie più recenti alla progettazione e allo sviluppo di applicazioni Web, compresi il client e il lato server, al fine di raggiungere un livello più elevato di usabilità e fiducia;
- essere in grado di valutare e rilevare le giuste tecnologie e le migliori interfacce per raggiungere gli obiettivi di progettazione;
- essere in grado di valutare e scegliere metodi e approcci ottimali per le specifiche, la progettazione e l'implementazione ecc .;
- essere in grado di scegliere lo strumento giusto e di accedere alle informazioni in forma scritta ed elettronica, compresa la ricerca su biblioteca e su Internet, ecc .;
- essere in grado di spiegare in dettaglio i concetti relativi alla scoperta di informazioni e di ottimizzare le pagine Web per la ricerca;
- essere in grado di continuare ad apprendere tutte le tecnologie in evoluzione legate allo sviluppo di applicazioni web.
Capacità indotta dal corso:
Fornire agli studenti la conoscenza della programmazione web, la capacità di progettare e implementare applicazioni distribuite di dimensioni realistica, la capacità di rilevare e adottare le componenti fondamentali di un'applicazione, la conoscenza delle attuali tecniche e metodologie.
Metodi didattici:
Lezioni frontali, seminari e dimostrazioni di codici. L'insegnamento si concentra sull'apprendimento attraverso il fare. Viene fatto un ampio uso dell'apprendimento basato sui problemi, concentrandosi sul portare gli studenti attraverso progetti (quasi o completamente) realistici in cui sono esposti a livelli sufficienti di dettaglio e rischio, acquisendo così un apprezzamento per le sfide della soluzione di problemi di ingegneria del software reali.
Verifica dell'apprendimento:
- Valutazione preliminare: Non è prevista una valutazione preliminare formale, ma i prerequisiti del corso sono chiaramente indicati sul sito web del modulo.
- Valutazione: La valutazione sommativa consiste nella realizzazione di un progetto finale (in team) seguito da una prova orale. Il progetto finale consiste nella progettazione e realizzazione di un'applicazione web completa (la cui specifica è resa disponibile durante il corso), al fine di valutare: a) se lo studente conosce i concetti di base della programmazione web e b) le abilità pratiche dello studente in:
- selezionare e adottare il modello di navigazione e presentazione più conveniente (20% dei voti totali)
- progettazione e implementazione dei componenti lato client e lato server (40% dei voti totali)
- gestire la separazione delle logiche (20% dei voti totali)
La prova orale consiste nella discussione del progetto con particolare enfasi nella valutazione della conoscenza delle metodologie e delle tecnologie presentate durante il corso (20% dei voti totali)."