Programmazione Web


  • 18/04/2016: Inizio seconda parte del corso
  • 11/04/2016 e 12/04/2016: Lezioni sospese (reading)
  • 05/04/2016: Fine prima parte del corso
  • 01/03/2016: Inizio del corso
  • 03/10/2016: ATTENZIONE Lo scritto di Martedì 04/10/2016 si terrà in Aula Milner e non in Aula Turing

Docente:

Orario delle Lezioni:

  • Lunedì 15 - 17 (Aula, A. Turing)
  • Martedì 11 - 13 (Aula, A. Turing)

Ricevimento studenti:

  • Tesei: mercoledì dalle 11.30 alle 13.30, stanza CS 07, secondo piano del Polo Tecnologico Palazzo Battibocca,via del Bastione 1, Camerino
  • Tesei: a partire dal 13 giugno 2016 l'orario di ricevimento valido sarà solo quello indicato su questa pagina.
  • Tiezzi: su appuntamento (via email), stanza CS 08, secondo piano del Polo Tecnologico Palazzo Battibocca,via del Bastione 1, Camerino

D1 - CONOSCENZA E CAPACITÀ DI COMPRENSIONE
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Conoscere le architetture di base a supporto della programmazione Web.
  2. Conoscere le nozioni e i costrutti dei linguaggi per la programmazione Web, in particolare HTML5, PHP, JavaScript, Java Servlet e JSP.
  3. Conoscere gli applicativi software di supporto alla programmazione Web, quali Apache, MySQL, Tomcat.

D2 - CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Programmare un sito Web dinamico con le diverse tecnologie presentate nel corso.
  2. Effettuare il deployment del software sviluppate nelle opportune piattaforme server.

D3 - AUTONOMIA DI GIUDIZIO
Risultati attesi:
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Ordered List Item Identificare l'architettura, i linguaggi e le tecnologie più adatte dati i requisiti del sito Web da sviluppare.

D4 - ABILITÀ COMUNICATIVE
Risultati attesi:
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Ordered List ItemScrivere un rapporto chiaro sullo sviluppo di un progetto

D5 - CAPACITÀ DI APPRENDIMENTO
Risultati attesi:
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Ordered List ItemComprendere e imparare ad usare autonomamente le nuove versioni delle tecnologie e dei linguaggi presentati nel corso, nonché librerie aggiuntive e tecnologie analoghe

  • Nozioni base di Programmazione Web
  • Architetture Client/Server
  • Installazione e configurazione dei vari componenti software per lo sviluppo, test e deployment di applicazioni Web (Apache, MySql, Tomcat, ecc.)
  • Linguaggi e Tool di sviluppo lato client: HTML 5, CSS, JavaScript, JQuery
  • Linguaggi e Tool di sviluppo lato server: PHP, Java Servlet, JSP

Slide del Corso

  1. Installazione di XAMPP, Tutorial W3C SQL, uso di phpMyAdmin
  2. Verifica funzionamento componenti XAMPP, creazione di tabelle e connessione al db Codice, Connessione Tra PHP e MySQL: Tutorial W3C Schools Codice di Prova
  3. PHP modello di memoria, scope delle variabili e passaggio dei parametri Slides, PHP W3C Schools Tutorial, Codice con esempi
  4. W3C Tutorial: PHP Advanced Topics, Discussione sui progetti finali
  5. W3C Tutorials: jQuery

Tool

Esercitazioni

Testi di Riferimento


Date degli Esami A.A. 2015/2016

Regole di esame

Il raggiungimento dei risultati di apprendimento è verificato attraverso due prove:

  • Prova Scritta obbligatoria (domande a risposta chiusa e aperta) sugli argomenti trattati a lezione.
  • Realizzazione di un Progetto Software (si veda sotto) con relazione scritta e discussione orale. Gli studenti che realizzano il progetto in gruppo (massimo 2 studenti per gruppo) devono obbligatoriamente sostenere la prova orale nello stesso appello. La discussione orale verterà principalmente sul progetto realizzato. Lo studente (o gli studenti se in gruppo) potranno preparare una presentazione del loro progetto (durata massima 15 minuti).

Le due prove possono essere superate nello stesso appello o in due appelli separati. Il voto finale potrà essere registrato solo dopo il superamento di entrambe le prove. Per poter effettuare la prova scritta in un certo appello è necessario iscriversi entro la data di scadenza indicata in ESSE3 (qualche giorno prima della data dello scritto). Per poter effettuare la prova orale del progetto in un certo appello bisogna consegnare il progetto entro la data prevista per quell'appello (si veda la sezione date degli esami qui sopra). Le modalità di consegna del progetto sono indicate di seguito nell'apposita sezione.

Progetto software

Il progetto software può essere realizzato individualmente o in gruppi di massimo 2 studenti. Il progetto deve realizzare un'applicazione web basata su una delle seguenti architetture presentate durante il corso:

  • HTML + CSS + Javascript + Java Servlet / JSP + MySQL
  • HTML + CSS + Javascript + PHP + MySQL

Business logic e front-end dell'applicazione sono a discrezione degli studenti purché possano essere inquadrati in una delle seguenti aree:

  • Social network
  • Blogging / Publishing
  • Browsing of items, ad esempio e-commerce, digital library ecc.
  • Game

L'applicazione deve obbligatoriamente prevedere:

  • Lato client realizzato in HTML5 con foglio di stile ed eventuale Javascript
  • Un DataBase lato server per la gestione dei dati permanenti
  • L'uso di sessioni per la gestione dei dati transitori (ad esempio sessioni di login/logout, carrelli ecc.)

Il progetto deve essere accompagnato da una relazione scritta (in formato pdf) che ne descrive le funzionalità, le tecnologie utilizzate, le soluzioni progettuali adottate e le soluzioni implementative adottate.

Consegna del progetto

Il progetto va consegnato all'interno di uno degli appelli previsti entro la data di consegna prevista per quell'appello. Si vedano le date indicate nella sezione Date degli Esami qui sopra.

Il progetto va consegnato inserendo la relazione scritta (in pdf), il codice e ogni altro documento ritenuto attinente in una cartella condivisa Google Drive di nome:

PW1516-AppelloX-CognomeStudente1-NomeStudente1-CognomeStudente2-NomeStudente2

La cartella dovrà essere condivisa tra gli studenti del gruppo tramite l'account nome.cognome@studenti.unicam.it e, solamente in visualizzazione, con luca.tesei@unicam.it e francesco.tiezzi@unicam.it. Per la data di consegna farà fede la data di caricamento dei file in Google Drive.

Ad esempio, lo studente Mario Rossi che vuole consegnare il progetto per fare l'orale nel secondo appello dal 11/07/2016 al 14/07/2016 dovrà creare la cartella PW1516-Appello2-Rossi-Mario e condividerla con i docenti entro le ore 11:00 del 04/07/2016, come indicato nelle date di esame.