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.
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.
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).
To successfully follow this course, the following knowledge is required:
The course includes lectures, practical exercises, and self-study at home.
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.
Ricevimento: By appointment (in person or online), taken via email.
MARINA RIBAUDO (President)
MAURIZIO LEOTTA
MATTEO DELL'AMICO (Substitute)
In accordance with the academic calendar of the study program, the schedule for all the courses can be found on EasyAcademy.
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.
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.