Salta al contenuto principale della pagina

SVILUPPO DI APPLICAZIONI WEB_GESTIONALE

CODICE 108709
ANNO ACCADEMICO 2022/2023
CFU
  • 6 cfu al 3° anno di 10716 INGEGNERIA GESTIONALE (L-9) - GENOVA
  • SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
    SEDE
  • GENOVA
  • PERIODO 2° Semestre
    MATERIALE DIDATTICO AULAWEB

    PRESENTAZIONE

    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.

    OBIETTIVI E CONTENUTI

    OBIETTIVI FORMATIVI

    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.

    OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

    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).

    PREREQUISITI

    Conoscenza del linguaggio di programmazione Python.

    Conoscenza delle basi dati relazionali e del linguaggio SQL.

    MODALITA' DIDATTICHE

    Lezioni frontali ed esercitazioni assistite al calcolatore (eventualmente anche online).

    PROGRAMMA/CONTENUTO

    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.

     

    TESTI/BIBLIOGRAFIA

    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)

    DOCENTI E COMMISSIONI

    Commissione d'esame

    ALBERTO TACCHELLA (Presidente)

    FABIO ROLI

    PIERGIORGIO BERTOLI (Presidente Supplente)

    LEZIONI

    INIZIO LEZIONI

    Fare riferimento al portale Easy Academy: https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&…

    Orari delle lezioni

    L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

    ESAMI

    MODALITA' D'ESAME

    Esame orale e pratico.

    MODALITA' DI ACCERTAMENTO

    Realizzazione di un progetto di web application e verifica orale.

    Calendario appelli

    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