CODE | 108709 |
---|---|
ACADEMIC YEAR | 2022/2023 |
CREDITS |
|
SCIENTIFIC DISCIPLINARY SECTOR | ING-INF/05 |
TEACHING LOCATION |
|
SEMESTER | 2° Semester |
TEACHING MATERIALS | AULAWEB |
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
Ricevimento: Upon student's request, by an e-mail to the teacher.
Exam Board
ALBERTO TACCHELLA (President)
FABIO ROLI
PIERGIORGIO BERTOLI (President Substitute)
LESSONS
LESSONS START
Please refer to the Easy Academy portal: https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&_lang=it&include=corso
Class schedule
L'orario di tutti gli insegnamenti è consultabile all'indirizzo EasyAcademy.
EXAMS
EXAM DESCRIPTION
Oral and practical exam.
ASSESSMENT METHODS
Design and implementation of a web application; oral assessment.
Exam schedule
Data | Ora | Luogo | Degree type | 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 |