Skip to main content
CODE 108709
ACADEMIC YEAR 2022/2023
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
TEACHING LOCATION
  • GENOVA
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

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

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

Oral and practical exam.

ASSESSMENT METHODS

Design and implementation of a web application; oral assessment.

Exam schedule

Data appello Orario 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