LINGUAGGI PER IL WEB

Obiettivi formativi

Acquisizione di nozioni fondamentali su - presentazione di risorse web, - sviluppo di applicazioni web, mediante opportune tecniche e linguaggi di programmazione; - rappresentazione e gestione dei dati rilevanti per un'applicazione web, mediante basi di dati e tecnologia XML Obiettivi specifici: Capacita' di programmare un'applicazione web non banale, scegliendo ed utilizzando le tecniche di programmazione e di rappresentazione/strutturazione dei dati tra quelle acquisite. Conoscenza e capacità di comprensione (knowledge and understanding): Acquisizione di nozioni fondamentali su - presentazione di risorse web, - sviluppo di applicazioni web mediante opportune tecniche e linguaggi di programmazione, - rappresentazione e gestione dei dati rilevanti per un'applicazione web, mediante basi di dati e tecnologia XML. Conoscenza e capacità di comprensione applicate (applying knowledge and understanding): essere in grado di progettare e implementare una non banale applicazione web/xml, mediante gli strumenti di programmazione e strutturazione dei dati menzionati sopra. Autonomia di giudizio (making judgements): le capacita' critiche e di giudizio sono sviluppate attraverso - la partecipazione alle attivita' di laboratorio (selezione e scelta degli strumenti tecnologici da usare per risolvere esercizi) - svolgimento di compiti sottomessi al docente per valutazione (uso di strumenti specifici per la soluzione di un problema) - sviluppo di un progetto (tesina) orientato alla progettazione ed implementazione di una non banale applicazione web (specifica del problema e degli strumenti da usare per risolverlo). Abilità comunicative(communication skills): Poter descrivere e condividere le linee progettuali ed implementative di un'applicazione web, facendo riferimento alle tecnologie alternative praticabili e spiegando i metodi usati per la rappresentazione e gestione dei dati. Le capacità di comunicazione vengono affinate durante - durante le sessioni di laboratorio (interazione con il docente e i pari su esercizi) - durante la produzione dei compiti (interazioni con il docente, valutazione del compito sottomesso) - durante la produzione della tesina (interazione con eventuali colleghi del gruppo di lavoro, interazione con il docente in occasione degli stati di avanzamento del progetto). L'attivita' di sviluppo della tesina confluisce poi nella stesura di un documento, in cui le capacita' descrittive e di comunicazione vengono ulteriormente testate. Capacità di apprendere (learning skills): Uno dei principali insegnamenti del corso e' nella comprensione di come il panorama tecnologico cambi costantemente e richieda quindi costante aggiornamento delle proprie conoscenze. L'attivita' di approfondimento autonomo e di progettazione ed implementazione di piccoli o meno piccoli progetti di applicazioni web consente di sviluppare questa consapevolezza e di preparare lo studente a proseguire successivamente il proprio aggiornamento in maniera autonoma. Lo studente viene incoraggiato a cercare approfondimenti ed alternative sul web, con il suggerimento di siti web specifici e con l'invito ad ampliare la ricerca. Il corso incoraggia a sviluppare le proprie soluzioni anche a partire da soluzioni gia' disponibili (offerte dal docente o reperibili su web). Questo allenamento consente di affrontare le esigenze future di ulteriore preparazione, in modo autonomo, costruendo attivamente sulle conoscenze e capacita' disponibili.

Canale 1
MARCO TEMPERINI Scheda docente

Programmi - Frequenza - Esami

Programma
1) introduzione alla comunicazione via web e all'uso di XHTML per la presentazione di risorse web --- circa 6 ore, comprese le esercitazioni 2) presentazione di risorse mediante CSS --- circa 6 ore, comprese le esercitazioni 3) introduzione alla programmazione del web: CGI e programmazione CGI --- circa 3 ore, comprese le esercitazioni 4) gestione di un progetto software mediante Git e Github --- circa 3 ore, non ci sono esercitazioni ma uso durante la fase di conegna dei compiti e della tesina 5) introduzione alla programmazione del web in PHP: principi di base; costruzione di pagine web via PHP --- circa 6 ore, comprese le esercitazioni 6) argomenti avanzati sulla programmazione del web in PHP: autenticazione, variabili di sessione e cookie, php e mysql --- circa 6 ore, comprese le esercitazioni 7) HTML5: evoluzione del linguaggio di markup --- circa 6 ore, comprese le esercitazioni 8) introduzione al linguaggio XML; nozioni di base, buona formazione e validita', DTD --- circa 6 ore, comprese le esercitazioni 9) argomenti avanzati nella gestione di applicazioni web basate su XML: Namespaces, XML Schema, programmazione XML: DOM, SAX --- circa 6 ore, comprese le esercitazioni 10) Javascript --- circa 6 ore, comprese le esercitazioni 11) principi i verifica del software PHP, mediante phpunit --- circa 6 ore, comprese le esercitazioni Durante le attivita' laboratoriali si possono discutere anche le fasi di sviluppo degli esercizi obbligatori che danno accesso alla tesina. Appuntamenti in fondo al corso e dopo permettono la discussione delle fasi di avanzamento delle tesine.
Prerequisiti
Conoscenza di piu` linguaggi di programmazione, metodologie di analisi e progettazione di programmi. E' utile aver seguito i corsi del, medesimo corso di laurea, Tecniche della programmazione e Progettazione del software.
Testi di riferimento
- documentazione del W3C su specifiche XHTML, CSS, XML - raccolta di slides del corso, comprendente anche una parte di esercitazione: disponibile attraverso il sito web del corso - sitografia indicata nelle slide (aggiornata anno per anno)
Modalità insegnamento
Dato che gli obiettivi formativi prevedono sia l'acquisizione di nozioni che la relativa messa in pratica, il corso e' articolato in lezioni frontali ed attivita' di laboratorio. Sono previsti homework (tre compiti obbligatori da consegnare nel tempo) e un'attivita' progettuale (tesina). I compiti sono necessari per poter avere una tesina assegnata. La tesina puo' essere svolta individualmente oppure, preferibilmente in gruppo (limitato normalmente a due persone). Lo svolgimento della tesina e' monitorato mediante una serie di incontri (almeno 3).
Frequenza
La frequenza non e obbligatoria ma e fortemente consigliata.
Modalità di esame
La tesina viene valutata considerando l’estensione del progetto (commisurata al numero di membri del gruppo), la ricchezza delle soluzioni e funzionalità proposte, e la precisione delle relative implementazioni. Gli studenti vengono valutati - in base alla competenza con cui sono in grado di discutere dei contenuti della tesina, durante gli incontri di consegna degli stati di avanzamento. - in base all'esame finale, parte scritta (tre o quattro domande, in cui concetti generali vengano trattati con riferimento a quanto concretamente fatto nella tesina_) - in base all'esame finale, parte orale, che costituisce la discussione della tesina, con eventuali approfondimenti che risultino necessari. La valutazione della tesina e quella dell’esame finale pesano circa, rispettivamente, 2/3 e 1/3 sul risultato finale dell’esame.
Bibliografia
E.Castro - HTML per il WWW con XHTML e CSS - Pearson's; Troiani - CSS Guida Completa - Apogeo; J. Duckett - HTML & CSS, progettare e costruire siti web - Apogeo; E. Zimuel - Sviluppare in PHP7 - tecniche nuove Converse, Park, Morgan - PHP5 & MySQL LA Guida - McGraw-Hill Gutmans, Bakken, Rethans - PHP5 Guida completa - Apogeo; J. Duckett - Javascript & JQuery - Apogeo; Beginning XML, HOEPLI/WROX
Modalità di erogazione
Dato che gli obiettivi formativi prevedono sia l'acquisizione di nozioni che la relativa messa in pratica, il corso e' articolato in lezioni frontali ed attivita' di laboratorio ad esse collegate. Sono previsti homework (tre compiti obbligatori da consegnare nel tempo) e un'attivita' progettuale (tesina). I compiti sono necessari per poter avere una tesina assegnata. La tesina puo' essere svolta individualmente oppure, preferibilmente in gruppo (limitato normalmente a due persone). Lo svolgimento della tesina e` monitorato mediante una serie di incontri (almeno 3 "stati di avanzamento").
  • Codice insegnamento1018705
  • Anno accademico2025/2026
  • CorsoIngegneria dell'Informazione (sede di Latina)
  • CurriculumInformatica
  • Anno3º anno
  • Semestre2º semestre
  • SSDING-INF/05
  • CFU6