C8651 - SERVIZI E APPLICAZIONI WEB

Academic Year 2026/2027

  • Docente: Silvia Mirri
  • Credits: 6
  • SSD: INFO-01/A
  • Language: Italian
  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Cesena
  • Corso: Second cycle degree programme (LM) in Computer Science and Engineering (cod. 6699)

    Also valid for Second cycle degree programme (LM) in Computer Science and Engineering (cod. 6699)

Learning outcomes

At the end of the course, the student is able to develop, by using advanced programming techniques: web sites based on client side and server side web technologies, front-ends based on apps and rich internet applications and back-ends based on web services, asynchronous notifications and workflows.

Course contents

The course explores the architectures, paradigms, and technologies underlying the design and development of modern Web applications and services, with particular emphasis on Web service development, JavaScript full-stack architectures, and the most widely adopted solution stacks for distributed Web applications. It examines the architectural, methodological, and technological aspects required to design and develop scalable, modular, and maintainable Web applications, with a focus on the main frameworks, architectural patterns, and development tools used in contemporary Web engineering.

In particular, the course covers the following topics:

  • Architectures and solution stacks for the development of Web applications and services.
  • Architecture of Web execution platforms: web browsers, web servers, JavaScript runtimes, and client-server communication models.
  • Architectural patterns for Web application development, with particular emphasis on the Model-View-Controller (MVC) and Model-View-ViewModel (MVVM) design patterns.
  • The JavaScript Everywhere paradigm and its impact on the design and development of full-stack Web applications.
  • JavaScript full-stack architectures and related solution stacks, with particular emphasis on the MEVN stack and its main variants (MEAN and MERN), including their technological components (MongoDB, Express.js, Node.js, and frontend frameworks) and their integration within modern Web applications.
  • JavaScript frameworks for declarative and component-based Web application development, with particular emphasis on Vue.js, and a comparison with other widely adopted frameworks and libraries, including Angular and React.
  • Languages and tools for modern Web development, with particular emphasis on TypeScript, Sass, and SCSS.

Readings/Bibliography

Due to the rapid evolution of the topics of the course, there is no textbook available to cover the whole discipline. Students therefore access the slides of the course and are directed to online resources for the necessities of the course and the deepening of the topics discussed.

Teaching methods

The course is structured in:

  • Lectures;
  • Exercises in lab.

Due to the type of activity and the teaching methods adopted, the attendance of this training activity requires the preventive participation of all students in the training modules 1 and 2 on safety in the study places, in e-learning mode https://corsi.unibo.it/2cycle/ComputerScienceEngineering/health-and-safety-mandatory-training.

Assessment methods

The final examination is designed to assess the achievement of the following learning outcomes:

  • understanding the architectures, paradigms, and technologies underlying the design and development of modern Web applications and services;
  • acquiring the skills required to design and develop distributed Web applications using modern JavaScript frameworks, full-stack architectures and solution stacks, and established architectural patterns;
  • applying methodologies and development tools for the design, implementation, and integration of scalable, modular, and maintainable Web applications and services.

The examination consists of the presentation and discussion of a group project (2 or 3 students per group) and an individual oral examination.

The evaluation of the group project forms the basis of the final grade, with a maximum score of 27/30. The individual oral examination, conducted during the project discussion, is intended to assess each student's understanding of the theoretical concepts covered in the course, as well as their individual contribution to the development of the project. Depending on the student's performance, the oral examination may result in an adjustment of the final grade by up to ±5 points.

Students must register for the examination through AlmaEsami.

The final grade may be declined only once.

Teaching tools

Slides and didactical materials will be delivered through Virtuale, the official Unibo e-learning platform.

Office hours

See the website of Silvia Mirri

SDGs

Quality education Reduced inequalities

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.