Web and Mobile Programming

A.Y. 2023/2024
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 can be attended as a single course.

Course syllabus and organization

Single session

Responsible
Lesson period
Third four month period
Course syllabus
This course is organized into five modules that are described in the followings:

1. History and architecture of the WWW
- From the Internet to the Web
- The Web Standards
- The first years and the competition for Standards
- The fundament of Web Scalability
- Web 2.0, Web mobile and Cloud Architecture

2. Interface
- HTML, syntax and parsing
- XHTML e CSS
- AJAX and 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

4. Procedures
- CGI and 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. Design Web Applications
- The digital economy
- Business Models for the Web
- The network externality
- Usability and Information architecture
- Framework for programming Web and Mobile Applications
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 consists of two tests:
Written exam: exercises + open-ended questions;
Oral examination: project (with written report) + oral discussion of the project.
INF/01 - INFORMATICS - University credits: 6
Laboratories: 24 hours
Lessons: 36 hours
Professor: Ceravolo Paolo
Professor(s)
Reception:
Thursday 14.00 - 15.00
Computer Science Department- 7° floor