Skip to main content
CODE 65704
ACADEMIC YEAR 2023/2024
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER 1° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

This course introduces the knowledge and skills necessary to create web applications. It covers the introduction of markup, style, and front-end languages, as well as back-end technologies for building data-driven dynamic websites. The course is heavily project-oriented, with a final project involving designing and developing a website from scratch. It establishes the foundation to understand, appreciate, and later utilize the most modern web development frameworks.

AIMS AND CONTENT

LEARNING OUTCOMES

Acquiring techniques and methods for building dynamic web applications using scripting languages, including interaction with remote databases, creating rich interfaces, and integrating data exposed through public APIs, while developing a basic understanding of usability, accessibility, and security concepts.

AIMS AND LEARNING OUTCOMES

With this course, students will be able to:

UNDERSTAND how the web works, such as its client/server architecture and the statelessness of the HTTPS protocol.
INSTALL a web server and a relational database management system (DBMS).
UTILIZE the various languages taught in class for designing an accessible and responsive web application.
UNDERSTAND the vulnerabilities of web applications and APPLY appropriate countermeasures.
PRESENT their project in a few minutes (elevator pitch).

PREREQUISITES

To successfully follow this course, the following knowledge is required:

  • Programming
  • Database fundamentals
  • Communication protocols

TEACHING METHODS

The course includes lectures, practical exercises, and self-study at home.

SYLLABUS/CONTENT

  • Static web pages creation with HTML5 and CSS.
  • Server side programming: dynamic web pages creation using PHP, sintax, data and control structures, objects. Cookies management, access control, session control. Interacting with database via PHP scripts. Accessing databases with PDO.
  • Introduction to JSON.
  • Client side programmingJavascript and the Document Object Model specification. Introduction to JavaScript libraries and API Fetch.
  • The REST (REpresentational State Transfer) architectural paradigm.
  • Security, usability and accessibility in web applications.
  • Pratical exercises and final project covering all the subjects seen during the semester.

RECOMMENDED READING/BIBLIOGRAPHY

Learning PHP, MySQL, JavaScript, and CSS, A Step-by-Step Guide to Creating Dynamic Websites. O'Reilly, 2012.
Any other book si fine, and  most of the topics of this course can be find directly online.

TEACHERS AND EXAM BOARD

Exam Board

MARINA RIBAUDO (President)

MAURIZIO LEOTTA

MATTEO DELL'AMICO (Substitute)

LESSONS

LESSONS START

In accordance with the academic calendar of the study program, the schedule for all the courses can be found on EasyAcademy.

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The exam consists of the following parts: (i) a written test for admission to the oral examination and (ii) an oral examination during which the project is discussed and some parts of the submitted code will be modified/corrected.

 

ASSESSMENT METHODS

The written test, which serves as the admission to the project discussion, consists of a few open-ended questions related to the topics covered in class. These topics provide the foundations for the project implementation. The test allows the evaluation of the student's theoretical knowledge acquired during the course. Once the written test is completed, the schedule for the oral examinations is agreed upon. The written test and the project discussion take place in the same session.

The oral examination aims to assess whether the student has achieved an adequate level of practical skills and is capable of modifying the produced code. It includes: (i) project presentation; (ii) execution of the automated tests provided during the course; (iii) detailed discussion of the produced code; (iv) modification of one or more files and submission on AulaWeb. The project can be done in pairs, but the evaluation is individual.

Exam schedule

Data appello Orario Luogo Degree type Note
16/01/2024 09:00 GENOVA Scritto
06/02/2024 14:00 GENOVA Scritto
04/06/2024 09:00 GENOVA Scritto
09/07/2024 09:00 GENOVA Scritto
06/09/2024 09:00 GENOVA Scritto