Informazioni sul corso

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)."

Piano Formativo