Web and Mobile Programming
A.Y. 2023/2024
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
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
Lesson period: Third four month period
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
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
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
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
· 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.
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
Lessons: 36 hours
Professor:
Ceravolo Paolo
Professor(s)