CODE | 108709 |
---|---|
ACADEMIC YEAR | 2022/2023 |
CREDITS |
|
SCIENTIFIC DISCIPLINARY SECTOR | ING-INF/05 |
TEACHING LOCATION |
|
SEMESTER | 2° Semester |
TEACHING MATERIALS | AULAWEB |
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.
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.
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).
Knowledge of the Python programming language.
Knowledge of relational databases and SQL language.
Lectures and hands-on exercises (possibly also online).
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.
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)
Office hours: Upon student's request, by an e-mail to the teacher.
ALBERTO TACCHELLA (President)
FABIO ROLI
PIERGIORGIO BERTOLI (President Substitute)
Please refer to the Easy Academy portal: https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&…
All class schedules are posted on the EasyAcademy portal.
Oral and practical exam.
Design and implementation of a web application; oral assessment.
Date | Time | Location | Type | Notes |
---|---|---|---|---|
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 |