Salta al contenuto principale della pagina

DEVELOPMENT OF WEB_GESTIONALE APPLICATIONS

CODE 108709
ACADEMIC YEAR 2022/2023
CREDITS
  • 6 cfu during the 3nd year of 10716 INGEGNERIA GESTIONALE (L-9) - GENOVA
  • SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
    TEACHING LOCATION
  • GENOVA
  • SEMESTER 2° Semester

    OVERVIEW

    The course provides the student with the key concepts related to the design and implementation of web applications, enabling him/her to create web applications using the Django framework.

    AIMS AND CONTENT

    LEARNING OUTCOMES

    The course aims at providing the student the key concepts concerning the design and implementation of web applications, enabling him/her to create web applications using one of the most popular tools to date, the Django framework. The course will start by providing know-how related to the context of web application programming, and will then proceed to study a key set of enabling technologies in this area: the HTML, CSS and Javascript languages, ​​and the Python-based Django framework. For each of these technologies, the teaching will aim at providing the necessary skills which, when applied in an integrated way, allow students to design a completely functional web application, independently and from scratch.

    AIMS AND LEARNING OUTCOMES

     

    Understanding of network architectures and client-server architecture.

    Understanding of the concepts behind the Internet and the World Wide Web.

    Ability to write simple static HTML web pages.

    Ability to complement a web page with style sheets applied to its elements (CSS).

    Ability to provide a web page with dynamics treatment logics (Javascript).

    Understanding of the basic concepts of the Django framework: MTV paradigm, ORM, URL mapping.

    Ability to use Django to build a web application, taking advantage of its support tools (for the connection between URL and management logic; for the synthetic or programmatic description of the page logic; for the programmatic description of the visualization logic; for pagination management, for authentication and permissions management, for the management of input forms, for the integration of accesses in SQL and the management of AJAX asynchronous requests; for automated testing).

     

    PREREQUISITES

    Knowledge of the Python programming language.
    Knowledge of relational databases and SQL language.

    TEACHING METHODS

    Lectures and hands-on exercises (possibly also online).

    SYLLABUS/CONTENT

    Context: network architectures.

    Context: client-server paradigm.

    Context: Internet (TCP / IP protocol stack, IPv4 / v6 addressing, DHCP, DNS).

    Context: the World Wide Web (URL, HTTP protocol, notes on HTML, CSS and Javascript).

    Client-side technologies:
    - HTML: structure; main tags and attributes.
    - CSS: structure; main selectors and properties.
    - Javascript: structure; main data structures and constructs.

    Server-side technologies:
    - overview of the most widespread technologies and related support tools.
    - the Django framework and its main conceptual features.
    - development of an application in Django through its methodology and support tools: views, templates, models; support classes for data models and their properties; pagination support; support for the personalization of data presentation; support for user management and access restriction; support for the management of user input forms; integration with native SQL searches; integration with asynchronous interactions in Javascript; integration with automated tests.

     

    RECOMMENDED READING/BIBLIOGRAPHY

    Online Resources:
    W3Schools tutorial on HTML:      https://www.w3schools.com/html/default.asp
    W3Schools tutorial on CSS:        https://www.w3schools.com/css/default.asp
    W3Schools Javascript Tutorial:    https://www.w3schools.com/js/default.asp
    MDN tutorial on Django:               https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django

    Paper resources:
    HTML & CSS: Complete guide to website development and web design (Oscar R. Frost, 2020)
    JAVASCRIPT: Web and web-app programming guide (Oscar R. Frost, 2020)
    Web development with Django (Ben Shaw, Saurabh Badhwar, 2021)

    TEACHERS AND EXAM BOARD

    Exam Board

    PIERGIORGIO BERTOLI (President)

    FABIO ROLI

    ARMANDO TACCHELLA (President Substitute)

    LESSONS

    LESSONS START

    Please refer to the Easy Academy portal: https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&…

    Class schedule

    All class schedules are posted on the EasyAcademy portal.

    EXAMS

    EXAM DESCRIPTION

    Oral and practical exam.

    ASSESSMENT METHODS

    Design and implementation of a web application; oral assessment.

    Exam schedule

    Date Time Location Type Notes
    19/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