Course Details

Web applications: architectures and languages

MF0224

Course
Web applications: architectures and languages
Code
MF0224
Academic Year
2023/2024
Curriculum Year
2021/2022
Degree Programme
BIOLOGY
Curriculum
000 - CORSO GENERICO
Course coordinator
Lecturers
Credits
6
Lecture Hours
48
Scientific Disciplinary Sector (SSD)
INF/01 - Computer Science
Course Type
Single-subject learning activity
Course Delivery
OPZ - Opzionale
Year
3
Teaching period
Secondo Semestre
Campus
VERCELLI
Teaching language
Italian
Course Contents
Methods and technologies for server-side development of web applications and services.
Reference Texts
Suggested but not mandatory:

C# 12 in a Nutshell: The Definitive Reference, Joseph Albahari

C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals: Start building websites and services with ASP.NET Core 8, Blazor, and EF Core 8, Mark J. Price
Learning Outcomes
Learning the fundamentals of the C # language.

Learning of the methodologies and architectures for the development of the server-side part of web applications and services.
Prerequisites
Knowledge of object-oriented programming in any language.

Basic knowledge of HTTP, HTML, CSS, JavaScript.

Basic knowledge of the relational model and SQL.
Teaching Methods
In the first part of the course theoretical lessons and laboratory exercises will alternate.

In the second part (more practical) the concepts will be illustrated by analyzing in detail several concrete examples.
Additional Information
During the course, exercises will be assigned and, in the next lesson, possible solutions will be analyzed and discussed.
Assessment Methods
The exam consists in the realization of a project (a web application) and an oral. The project can also be carried out in small groups but it will be verified at the oral stage that each member has actually contributed to its realization. During the oral exam, however, questions relating to the contents of the course will also be asked. The evaluation of the laboratory project and the oral exam will determine the final grade.
The realization of a good project that respects the indicated specifications and the demonstration - at the oral - of having contributed to its realization will be considered the minimum to reach the sufficiency.
Detailed Syllabus
The course is divided into two parts: the first concerns the C # programming language (fundamental concepts and constructs), the second introduces the methodologies, architectural (e.g. Clean Architecture) and technological (caching, access to data, factors that determine the performance, testing, ...) for the development of medium complexity web applications and services. We will use ASP.NET Core as the technology stack. Support topics such as access to relational data through ORM (Object Relational Mapping), use of complex development tools (Visual Studio), unit testing will also be addressed during the course.
Expected Learning Outcomes
Demonstration of knowing how to conceive correctly and design a web application of medium / high complexity, both as regards the architectural aspects (for example, the correct application of object-oriented patterns) and as follows the proper integration of technological components about objectives (for example knowing how to correctly use what we have seen to create a scalable application).

Knowledge and understanding:
- C# language
- access to relational and non-relational data
- web application architecture (oriented to rendering pages and data)
- techniques for server-side rendering of dynamic pages
- input validation
- push notifications (server-to-client)
- techniques aimed at the fine-tuning of performance (e.g., caching)
- authentication and authorization management.

Applying knowledge and understanding: given set of user specifications describing a problem,
- conceive the correct architecture
- implement the conceived architecture
- check its correct functioning and compliance with the specifications
- adequately document what has been conceived and implemented.
Last update:09-09-2026 00:14:31