Web and Mobile Programming

A.Y. 2025/2026
6
Max ECTS
60
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
This course is aimed at introducing WWW programming concepts and techniques. In particular: the fundamentals concepts of the WWW; the fundamentals of Web Applications desing; the main technologies available for developing Web Applications; the main design patterns adopted in developing Web Applications.
Expected learning outcomes
The aim of the course is for the student to acquire a series of knowledge, skills, and competences, the main ones of which are:

Knowledge
- Understanding the principles that have driven the evolution of the Web.
- Understanding the basic principles of designing a Web application.
- Knowledge of the main technologies available for the development of Web applications.
- Knowledge of the most common design patterns adopted for solving recurring problems in Web application programming.

Skills
- Organize a web application project
- Verify the spread of technology or module
- Test the code of a Web application
- Evaluate the performance results of a Web application
- Document the main design phases of a Web application

Expertise
- Evaluate the most suitable technological standards for the realization of a project
- Evaluate the consistency of a project with its expected objectives
- Evaluate interventions for the improvement of the performances of an application
- Illustrate the design phases of a Web application
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Single session

Responsible
Lesson period
Second semester
Course syllabus
The course is divided into five modules that will address the topics detailed below.

1. History and architecture of the WWW
- Web implementation standards
- The reasons for the scalability of the Web
- Web 2.0, Mobile Web and Cloud Architectures
- Web 3.0 introduction

2. Interface
- HTML, syntax and parsing
- XHTML and CSS
- AJAX and Javascript
- CSS3
- HTML5, new vocabulary
- HTML5, Canvas and SVG
- HTML5, Communication API
- HTML5, offline applications

3. Data
- HTML as a vocabulary for representing documents
- HTML as a vocabulary for representing interfaces
- Data management in multi-channel contexts
- REST protocols
- From databases to Cloud architectures
- JSON
- AJAX
- JQuery
- Client side storage

4. Procedures
- NodeJS, modules
- NodeJS, event management
- NodeJS, file creation and manipulation
- NodeJS, communication http
- NodeJS, templating and rendering
- NodeJS, middleware functions
- Design patterns for Web Applications

5. MongoDB
- Environment and usage
- Database, collection and BSON management
- CRUD
Prerequisites for admission
An understanding of the basic programming concepts and the ability to read a text in English is required.
Teaching methods
Course topics will be covered through distance learning lectures and self-testing exercises.
Teaching Resources
Mandatory materials
· Slides and exercises made available on the Ariel platform

Optional materials
· HTML 5 e CSS 3 - Gabriele Gigliotti, Milano: Apogeo, c2011
· Professional Node.js Building Javascript-Based Scalable Software - Pedro Teixeira: John Wiley & Sons, Inc. 2013
· HTML5, A vocabulary and associated APIs for HTML and XHTML: http://www.w3.org/TR/html5/
· Beginning JavaScript with DOM scripting and Ajax /- Russ Ferguson, Christian Heilmann. 2013
Assessment methods and Criteria
The exam methods for the course are as follows:

- two tests, one written and one project-based
- the written test will consist of 2 sub-parts, one with multiple choice answers and one with open answers;
- in general, the written test does not last more than an hour and a half.
- The project-based test requires the creation of a web application and the activity must be carried out individually
- The descriptive text of the project is released on Ariel at the end of each year of the course, in the projects section.
- The project theme has a validity indicated in the descriptive file
- The final grade is a weighted average of the two grades of the parts and the project grade weighs 70% of the final grade.
- To register for the written part, you must use the classic sifaonline system
- To register for the discussion of the project, you must upload the required material to upload.di.unimi.it.
INF/01 - INFORMATICS - University credits: 6
Laboratories: 24 hours
Lessons: 36 hours
Professor(s)
Reception:
On appointment
room 7008