Programmazione per il web

A.A. 2021/2022
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'obiettivo dell'insegnamento è introdurre gli studenti alla metodologie e strumenti per la programmazione per il Web e allo sviluppo di applicazioni Web. Nello sviluppo di applicazioni per il Web lo studente deve prendere confidenza coi linguaggi di scripting che possono essere eseguiti nel browser o nel server e i linguaggi utilizzati per lo scambio di informazioni e la loro gestione in un sistema di base di dati.
Risultati apprendimento attesi
Lo studente dovrà acquisire la capacità di sviluppare semplici applicazioni Web nel loro complesso: progettazione dell'applicazione, sviluppo delle interfacce, realizzazione della base di dati e organizzazione dell'interazione con l'utente.
Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Primo semestre
Metodi didattici:
Le lezioni si terranno sulla piattaforma Zoom e potranno essere seguite sia in sincrono sulla base dell'orario del primo semestre sia in asincrono, perché saranno registrate e lasciate a disposizione degli studenti sul sito Ariel dell'insegnamento. Il link per seguire la lezione su Zoom verrà messo a disposizione sul sito Ariel del corso, così come tutto il materiale didattico e gli avvisi relativi a qualsiasi aggiornamento legato all'evoluzione della normativa imposta dal Covid-19.

Materiali di riferimento:
Il programma e il materiale di riferimento non subiranno variazioni. Tutto il materiale didattico di supporto verrà reso disponibile sempre attraverso la piattaforma Ariel.

Modalità di verifica dell'apprendimento e criteri di valutazione:
La discussione del progetto e l'esame orale verranno svolti utilizzando la piattaforma Zoom qualora non sia possibile effettuare l'esame in presenza.
Programma
L'insegnamento affronta le seguente tematiche:
- Il protocollo http e il World Wide Web.
- Il linguaggio HTML e il linguaggio CSS.
- Sviluppo di pagine web responsive: Bootstrap.
- Il sistema MySQL: dalla progettazione concettuale alla progettazione logica di una base di dati.
- I fondamenti della programmazione server-side e il linguaggio PHP.
- L'interazione tra MySQL e PHP.
- Cookies e sessioni.
- I fondamenti della programmazione client-side e il linguaggio Javascript.
- Lo standard DOM e BOM
- JSON e gli oggetti Ajax.
- Fondamenti del linguaggio XML.
Prerequisiti
Saper sviluppare e mettere a punto programmi che usano i costrutti fondamentali della programmazione imperativa; conoscere e sapere utilizzare proficuamente almeno un linguaggio di programmazione imperativo. Conoscere i fondamenti del linguaggio SQL per sviluppare le principali tipologie di comandi per la creazione dello schema di una base di dati e per la manipolazione delle tabelle (selezione, inserimento, cancellazione e modifica)
Il superamento dell'esame di Programmazione è propedeutico all'insegnamento di Programmazione per il Web. E' inoltre fortemente consigliato il superamento di esami di Basi di Dati.
Metodi didattici
Il corso viene tenuto in aule informatizzate in modo da poter provare insieme agli studenti le funzionalità dei linguaggi proposti durante le lezioni e di verificare le principali caratteristiche dei sistemi di gestione dati (il DBMS MySQL) e gli strumenti di sviluppo delle applicazioni (i web browser). Gli studenti possono quindi seguire il docente nella progettazione e realizzazione di applicazioni Web.
Materiale di riferimento
Sito web:
https://mmesitipw.ariel.ctu.unimi.it/
Un elenco dettagliato degli argomenti trattati, lezione per lezione, viene pubblicato e aggiornato sul sito web dell'insegnamento.

Gli argomenti trattati sono ampiamente trattati su Web e non viene adottato un libro specifico. Gli studenti possono trovare tutorial e presentazione dei costrutti sul sito del World Wide Web Consortium
https://www.edx.org/school/w3cx

Ulteriore materiale integrativo, esercizi svolti e dispense, preparati dal docente, viene reso disponibile sul sito web dell'insegnamento.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste nello sviluppo di una applicazione Web di piccole dimensioni da svolgere in gruppi di due persone e di una prova orale.
Lo sviluppo dell'applicazione Web permette di verificare la capacità degli studenti nel lavorare in gruppo e nell'affrontare tutti i passi necessari per lo sviluppo di una applicazione reale (progettazione della base di dati, sviluppo dell'interfaccia Web e realizzazione della logica applicativa sfruttando programmazione server-side e client-side). Al progetto viene assegnata una valutazione in trentesimi. L'esame si conclude con la prova orale, alla quale si accede dopo il superamento del progetto, che verte sulla discussione di alcuni argomenti trattati nell'insegnamento e ha l'obiettivo di valutare le conoscenze dello studente delle tematiche trattate, la proprietà di linguaggio nell'esposizione degli argomenti, la capacità di applicazione le conoscenze acquisite nella risoluzione di problemi concreti e la capacità di ragionamento critico. La prova orale viene valutata in trentesimi e la valutazione complessiva si ottiene dalla media della valutazione della prova orale e del progetto.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente: Mesiti Marco
Docente/i