CODICE | 108709 |
---|---|
ANNO ACCADEMICO | 2022/2023 |
CFU |
|
SETTORE SCIENTIFICO DISCIPLINARE | ING-INF/05 |
SEDE |
|
PERIODO | 2° Semestre |
MATERIALE DIDATTICO | AULAWEB |
Il corso fornisce allo studente i concetti fondamentali inerenti il progetto e la realizzazione di applicazioni web, abilitandolo a creare applicazioni web mediante il framework Django.
L'obiettivo dell'insegnamento e' quello di fornire allo studente i concetti fondamentali inerenti il progetto e la realizzazione di applicazioni web, abilitandolo a creare applicazioni di tale tipo con l'ausilio di uno degli strumenti maggiormente diffusi ad oggi, il framework Django. L'insegnamento partira' col fornire un quadro generale di conoscenze relative al contesto della programmazione di applicazioni web, per poi verticalizzarsi su un insieme base di tecnologie abilitanti in tale ambito: i linguaggi HTML, CSS, Javascript ed il framework Django, basato sul linguaggio di programmazione Python. Per ognuna di tali tecnologie, l'insegnamento mirera' a fornire le competenze necessarie e tali che, applicate in maniera integrata, lo studente possa progettare ex-novo ed in maniera indipendente una applicazione web completamente funzionale.
Comprensione delle architetture di rete e della architettura client-server.
Comprensione dei concetti alla base di Internet e del World Wide Web.
Capacita' di scrivere semplici pagine web statiche in HTML.
Capacita' di corredare una pagina web attraverso fogli di stile applicati ai suoi elementi (CSS).
Capacita' di corredare una pagina web con logiche di trattamento della dinamica (Javascript).
Comprensione dei concetti di base del framework Django: paradigma MTV, ORM, URL mapping.
Capacita' di utilizzare Django per costruire una applicazione web, usufruendo dei suoi strumenti di supporto (per la connessione fra URL e logica di gestione; per la descrizione sintetica o programmatica delle logica delle pagine; per la descrizione programmatica della logica di visualizzazione; per la gestione della paginazione, per la gestione di autenticazione e permessi, per la gestione dei moduli di input, per la integrazione di accessi in SQL e la gestione di richieste asincrone AJAX; per il testing automatizzato).
Conoscenza del linguaggio di programmazione Python.
Conoscenza delle basi dati relazionali e del linguaggio SQL.
Lezioni frontali ed esercitazioni assistite al calcolatore (eventualmente anche online).
Contesto: architetture di rete.
Contesto: paradigma client-server.
Contesto: Internet (lo stack protocollare TCP/IP, indirizzamento IPv4/v6, DHCP, DNS).
Contesto: il World Wide Web (URL, il protocollo HTTP, note su HTML, CSS e Javascript).
Tecnologie sul lato del client:
- HTML: struttura; tags ed attributi principali.
- CSS: struttura; selettori e proprieta' principali.
- Javascript: struttura; costrutti e strutture dati principali.
Tecnologie sul lato del server:
- panoramica sulle tecnologie piu' diffuse e sui relativi strumenti di supporto.
- il framework Django e le sue caratteristiche concettuali principali.
- sviluppo di una applicazione in Django attraverso la sua metodologia ed i relativi strumenti di supporto: views, templates, models; classi di supporto ai modelli dati e loro proprieta'; supporto alla paginazione; supporto alla personalizzazione della presentazione dei dati; supporto alla gestione di utenze ed alla restrizione di accessi; supporto alla gestione di moduli di input utente; integrazione con ricerche in SQL nativo; integrazione con interazioni asincrone in Javascript; integrazione con test automatizzati.
Risorse online:
Tutorial W3Schools su HTML: https://www.w3schools.com/html/default.asp
Tutorial W3Schools su CSS: https://www.w3schools.com/css/default.asp
Tutorial W3Schools su Javascript: https://www.w3schools.com/js/default.asp
Tutorial MDN su Django: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django
Risorse cartacee:
HTML & CSS: Guida completa allo sviluppo di siti internet e al web design (Oscar R. Frost, 2020)
JAVASCRIPT: Guida alla programmazione web e web-app (Oscar R. Frost, 2020)
Web development with Django (Ben Shaw, Saurabh Badhwar, 2021)
Ricevimento: Su appuntamento a richiesta degli studenti tramite una email al docente.
ALBERTO TACCHELLA (Presidente)
FABIO ROLI
PIERGIORGIO BERTOLI (Presidente Supplente)
Fare riferimento al portale Easy Academy: https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&…
L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.
Esame orale e pratico.
Realizzazione di un progetto di web application e verifica orale.
Data | Ora | Luogo | Tipologia | Note |
---|---|---|---|---|
23/06/2023 | 10:00 | GENOVA | Orale | |
12/07/2023 | 10:00 | GENOVA | Orale | |
28/07/2023 | 10:00 | GENOVA | Orale | |
01/09/2023 | 10:00 | GENOVA | Orale |