Web Programming

A.Y. 2023/2024
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
The goal of the course is to introduce the students to the Web programming methodology and tools and the development of Web applications. In the development of Web applications, the student will learn the scripting languages that can be execute on the browser or on the server and the languages adopted for the exchange of information and its management in database systems.
Expected learning outcomes
The student will master the entire process of development of web applications: design of the application, development of the interfaces, creation of the database and organization of the user interaction.
Single course

This course can be attended as a single course.

Course syllabus and organization

Single session

Responsible
Lesson period
First semester
Course syllabus
The subject deals with the following topics:
- The http protocol and the World Wide Web.
- The HTML language and the CSS language.
- Development of responsive web pages: Bootstrap.
- The MySQL system: from conceptual design to logical design of a database.
- The fundamentals of server-side programming and the PHP language.
- The interaction between MySQL and PHP.
- Cookies and sessions.
- The fundamentals of client-side programming and the Javascript language.
- The DOM and BOM standard
- JSON and Ajax objects.
- Fundamentals of XML.
Prerequisites for admission
Knowledge of how to develop programs that use the fundamental constructs of imperative programming; Knowledge of how to use profitably at least one imperative programming language.
Knowledge of the fundamentals of the SQL language to develop the main types of commands for creating a database schema and for manipulating the tables (selection, insertion, deletion and modification).
Passing the exame of Programming is mandatory for following the Web Programming subject. It is also strongly recommended to pass first the exam of Databases.
Teaching methods
The subject is held in computerized classrooms so that students can test the functionality of the languages presented during the lessons and verify the main characteristics of the data management systems (MySQL DBMS) and the application development tools (web browsers). Students can then follow the teacher in the design and implementation of Web applications.
Teaching Resources
Website:
https://mmesitipw.ariel.ctu.unimi.it/
A detailed list of the topics covered, lesson by lesson, is published and updated on the teaching website.

The subject topics are widely covered on the Web and a specific book is not adopted. Students can find tutorials and presentation of constructs on the World Wide Web Consortium website
https://www.edx.org/school/w3cx

Additional supplementary material, exercises carried out and lecture notes, prepared by the teacher, are made available on the teaching website.
Assessment methods and Criteria
The exam consists in the development of a small web application to be carried out in groups of two students and an oral test.
The development of the Web application allows to check the students' ability to work in a group and to deal with all the required steps for the development of a real application (design of the database, development of the Web interface and realization of the application logic by exploiting server-side and client-side programming). The project is assigned an evaluation out of thirty. The exam ends with the oral test (after passing the project) which focuses on the discussion of some topics covered in the teaching and has the aim of assessing the student's knowledge of the topics covered, the ownership of language in the presentation of the topics, the ability to apply the knowledge acquired in solving concrete problems and the capacity for critical reasoning. The oral test is evaluated in thirtieths and the overall evaluation is obtained from the average of the oral test and project evaluation.
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor: Mesiti Marco
Educational website(s)
Professor(s)