Web and Mobile Programming

A.Y. 2024/2025
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
This course is organized into five modules that are described in the followings:

1. History and architecture of the WWW
- The Web Standards
- The fundament of Web Scalability
- Web 2.0, Web mobile and Cloud Architecture
- Introduction to Web 3.0

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

3. Data
- HTML for representing documents
- HTML for representing interfaces
- Data management in multichannel context
- The REST protocols
- From database to Cloud architectures
- JSON
- Storage client side

4. Procedures
- Server-side scripting
- JavaScript
- NodeJS, modules
- NodeJS, event management
- NodeJS, creation and manipulation of files
- NodeJS, HTTP communication
- NodeJS, templating and rendering
- NodeJS, middleware functions
- Design patterns for Web Applications

5. Mongo DB
- Basic aspects
- DB collection and BSON
- Query and filtering data
Prerequisites for admission
Understanding of the basic programming concepts and the ability to read a text in English is required.
Teaching methods
The topics of the course will be addressed through lectures, with the help of transparencies and teaching materials that the teacher will make available from time to time on the Ariel platform. During the lessons exercises and demonstrations will also be carried out to help the student's learning path.
Attendance, although not mandatory, is strongly recommended.
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 consists of a project with its oral discussion and a written test, both mandatory. The project aims to delve into the practical aspects of one or more topics covered in the course. The oral discussion of the project focuses on the topics addressed in the development of the project and aims to evaluate its quality. The themes and specifications of the project will be proposed at the end of the course and it can be carried out, only individually, within 12 months following the publication date.

In order to take the oral test it is necessary to register for one of the exam sessions indicated in the calendar and send the material produced according to the project specifications.

There is also a written test that allows you to evaluate the theoretical part of the course.

Once all the tests have been passed, the overall evaluation is formulated, expressed in thirtieths, taking into account the following parameters: degree of knowledge of the topics, ability to apply knowledge to the resolution of a concrete project, quality of the project developed, critical reasoning ability , expository clarity and language properties.
INF/01 - INFORMATICS - University credits: 6
Laboratories: 24 hours
Lessons: 36 hours
Shifts:
Turno
Professor: Bellandi Valerio
Turno A
Professor: Bellandi Valerio
Turno B
Professor: Maghool Samira