ITALIANO
- Appunti del corso
- Enrico Zimuel. Sviluppare in PHP 7. Tecniche Nuove
- Mark Wandschneider. Sviluppare applicazioni web con PHP e MySQL. Apogeo
L’obiettivo formativo per lo studente è che raggiunga i seguenti risultati di apprendimento.
Conoscenza e capacità di comprensione
Il corso si propone di fornire le conoscenze fondamentali relative
ad architetture, standard, protocolli, linguaggi di markup, linguaggi di programmazione lato client e lato server, e strumenti utilizzati
per la realizzazione di applicazioni web dinamiche che manipolano dati memorizzati su database.
Sarà posta attenzione ai principi generali da seguire per lo sviluppo
di applicazioni web di qualità relativamente ai seguenti aspetti:
- sicurezza dell'applicazione;
- interazione con l'utente (p.e. navigabilità ed usabilità)
- qualità del codice (p.e. leggibilità, uso di convenzioni, documentazione, modularità e parametricità, separazione model-view-controller).
Al termine del corso lo studente sarà in grado di comprendere il
funzionamento di un'applicazione web ed il ruolo delle diverse tecnologie utilizzate nella sua realizzazione.
Capacità di applicare conoscenza e comprensione
Al termine del corso lo studente sarà in grado di realizzare
applicazioni web dinamiche che interagiscono con basi di dati
integrando tecnologie lato client e lato server,
a partire da una specifica in linguaggio naturale.
Conoscenza dei principi della programmazione imperativa e ad oggetti.
Conoscenza dei database e del linguaggio SQL.
Capacità di scrivere piccoli programmi e di progettare database.
Capacità di comprensione di documentazione e guide in inglese.
Lezioni orali frontali e seminari.
Presentazione di casi di studio.
Conoscenza e capacità di comprensione
La verifica dell'apprendimento potrà essere effettuata secondo due modalità alternative.
La prima modalità prevede lo svolgimento di una o più prove scritte contenenti domande teoriche ed esercizi empirici per la realizzazione di applicazioni web usando i linguaggi PHP e Javascript, e la tecnica AJAX.
Successivamente all'esito delle prove scritte potrà essere sostenuta una prova orale per verificare la conoscenza dei contenuti di base presentati a lezione (a richiesta dello studente ed a discrezione del docente).
Il voto finale sarà espresso in trentesimi e sarà basato sulla valutazione delle prove scritte e dell'eventuale prova orale.
La seconda modalità prevede che lo svolgimento di una o più prove scritte possa essere sostituito dallo svolgimento di un lavoro di approfondimento (o progettuale) svolto in maniera individuale o in piccoli gruppi.
Al termine di tale lavoro dovrà essere consegnato un elaborato scritto corredato dagli eventuali artefatti software realizzati durante il suo svolgimento.
Successivamente verrà sostenuta una prova orale per accertare il contributo individuale dello studente al lavoro di approfondimento (o progettuale) e per verificare la conoscenza dei contenuti teorici e di base presentati a lezione.
Il voto finale sarà espresso in trentesimi e sarà basato sulla valutazione delle prove scritte eventualmente sostenute, del lavoro di approfondimento (o progettuale), e della prova orale.
Capacità di applicare conoscenza e comprensione
Durante le prove d’esame e lo svolgimento dell’eventuale lavoro di approfondimento viene verificata la capacità degli studenti di applicare le conoscenze acquisite per realizzare applicazioni web usando tecnologie lato client e lato server.
- Richiami di architetture client-server, HTTP e HTML. Cenni di CSS.
- Introduzione al linguaggio PHP.
- Utilizzo di Form, Cookies e Sessioni. Autenticazione utenti.
- Gestione dell'interazione con i database.
- Browser Object Model, Document Object Model, Javascript ed interazione asincrona tramite AJAX.
- Sicurezza: controllo degli accessi, protezione dati. Vulnerabilità delle applicazioni web e contromisure.
- Architetture client-server delle applicazioni web ed il protocollo HTTP.
- Il linguaggio di markup HTML. Cenni di CSS.
- Il linguaggio PHP. Variabili, espressioni, strutture di controllo e cicli, array, funzioni e metodi.
- Cookies per la memorizzazione di dati sul client
- Sessioni per la memorizzazione di dati sul server e creazioni di applicazioni stateful.
- Gestione dell'autenticazione utenti e controllo degli accessi
- Accesso a database tramite la libreria PDO di PHP.
- Attacchi di sicurezza di tipo SQL injection e contromisure basate su prepared statement.
- Progettazione di programmi PHP per gestire l'interazione con l'utente per visualizzare, inserire, modificare e cancellare dati memorizzati su database.
- Il linguaggio Javascript. Variabili, espressioni, strutture di controllo e cicli, array, funzioni, metodi ed eventi.
- Uso di Javascript per la validazione di moduli.
- Browser Object Model e Document Object Model.
- Interazione asincrona con server tramite AJAX.
SEDE DI CHIETI
Via dei Vestini,31
Centralino 0871.3551
SEDE DI PESCARA
Viale Pindaro,42
Centralino 085.45371
email: info@unich.it
PEC: ateneo@pec.unich.it
Partita IVA 01335970693