Salta al contenuto principale
CODICE 65704
ANNO ACCADEMICO 2023/2024
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Italiano
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

Questo corso introduce le conoscenze e le competenze necessarie per creare applicazioni web. Verranno introdotti i linguaggi di markup, stile e programmazione front-end e le tecnologie back-end per creare siti web dinamici basati sui dati. Il corso è fortemente guidato dal progetto finale, un sito web progettato e sviluppato da zero, e pone le basi per essere in grado di capire, apprezzare e usare in un secondo momento i più moderni framework per lo sviluppo web.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Acquisire tecniche e metodi per la costruzione di applicazioni web dinamiche mediante linguaggi di scripting, prevedendo anche l'interazione con database remoti, la realizzazione di interfacce ricche e l'integrazione di dati esposti mediante API pubbliche sviluppando una conoscenza di base dei concetti di usabilità, accessibilità e di sicurezza.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Con questo corso gli studenti saranno in grado di:

COMPRENDERE il funzionamento del web: per esempio la sua architettura client/server e la mancanza di stato del protocollo HTTPS.
INSTALLARE un web server e un sistema di gestione di database relazionali.
UTILIZZARE i diversi linguaggi presentati a lezione per la progettazione di un'applicazione web accessibile e responsive.
COMPRENDERE le vulnerabilità delle applicazioni web e APPLICARE le opportune contromisure.
PRESENTARE il proprio progetto in pochi minuti (elevator pitch).

 

PREREQUISITI

Per seguire con successo questo corso sono necessarie conoscenze di:

  • Programmazione
  • Basi di dati
  • Protocolli di comunicazione

MODALITA' DIDATTICHE

Lezioni, esercitazioni pratiche e studio a casa.

PROGRAMMA/CONTENUTO

  • Creazione di pagine web statiche usando HTML5 e CSS
  • Validazione delle pagine web
  • Programmazione lato server
    • Creazione di pagine dinamiche con PHP: sintassi, strutture dati e di controllo, gli oggetti. Utilizzo di cookie, controllo di accesso, controllo di sessione
    • Accesso a database remoti attraverso script PHP
    • Consumo di file JSON
  • Programmazione lato client
    • Javascript e le specifiche del DOM
    • Chiamate asincrone (API Fetch)
    • Librerie JavaScript per la realizzazione di interfacce ricche
    • Il paradigma architetturale REST (REpresentational State Transfer)
  • Sicurezza, usabilità accessibilità nelle applicazioni web
  • Esercitazioni e progetto finale che tocca tutti gli argomenti introdotti a lezione

TESTI/BIBLIOGRAFIA

Un libro di testo che copre tutti gli argomenti del corso è quello seguente:
Learning PHP, MySQL, JavaScript, and CSS, A Step-by-Step Guide to Creating Dynamic Websites. O'Reilly, 2012.
Vanno anche bene gli appunti presi a lezione e i libri presenti in biblioteca quali, ad esempio:
JavaScript: la guida, D. Flanagan, APOGEO
Internet & WWW: how to program, Deitel
Per la maggior parte degli argomenti trattati in questo corso il miglior libro di testo è la rete stessa.

DOCENTI E COMMISSIONI

Commissione d'esame

MARINA RIBAUDO (Presidente)

MAURIZIO LEOTTA

MATTEO DELL'AMICO (Supplente)

LEZIONI

INIZIO LEZIONI

In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica

 

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

L’esame consiste delle seguenti prove: (i) un test scritto di ammissione alla prova orale e (ii) una prova orale durante la quale viene discusso il progetto e si devono modificare/correggere alcune parti del codice consegnato.

MODALITA' DI ACCERTAMENTO

Il test scritto, che serve per l'ammissione alla discussione del progetto, è composto da poche domande aperte relative agli argomenti affrontati a lezione, argomenti che forniscono le basi per la realizzazione del progetto. Il test permette di valutare le conoscenze teoriche acquisite dallo studente. Appena concluso il test viene concordato il calendario per gli orali. Test scritto e discussione del progetto avvengono nello stesso appello. 

​La prova orale è volta a valutare se lo studente ha raggiunto un livello adeguato di competenze pratiche ed è in grado di modificare il codice prodotto. Consiste in: (i) presentazione del progetto; (ii)  esecuzione dei test automatici forniti durante il corso; (iii) discussione dettagliata del codice prodotto; (iv) modifica di uno o più file e consegna su AulaWeb. Il progetto può essere svolto in coppia, la valutazione è individuale.

Calendario appelli

Dati Ora Luogo Tipologia Note
16/01/2024 09:00 GENOVA Scritto
06/02/2024 14:00 GENOVA Scritto
04/06/2024 09:00 GENOVA Scritto
09/07/2024 09:00 GENOVA Scritto
06/09/2024 09:00 GENOVA Scritto