Dettaglio insegnamento

APPLICAZIONI WEB: LINGUAGGI E ARCHITETTURE

MF0224

Insegnamento
APPLICAZIONI WEB: LINGUAGGI E ARCHITETTURE
Codice
MF0224
Anno Accademico
2023/2024
Anno regolamento
2021/2022
Corso di studio
INFORMATICA
Curriculum
000 - CORSO GENERICO
Responsabile didattico
CFU
6
Ore di lezione
48
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Tipo di insegnamento
Attività formativa monodisciplinare
Fruizione insegnamento
OPZ - Opzionale
Anno
3
Periodo
Secondo Semestre
Sede
VERCELLI
Lingua insegnamento
Italiano
Contenuti
Metodologie e tecnologie per lo sviluppo server-side di applicazioni e servizi web.
Testi di riferimento
Suggeriti ma non obbligatori:

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
Obiettivi formativi
Apprendimento dei fondamenti del linguaggio C#.

Apprendimento delle metodologie e architetture per lo sviluppo della parte server-side di applicazioni e servizi web.
Prerequisiti
Conoscenza della programmazione ad oggetti in un qualsiasi linguaggio.

Conoscenza base di HTTP, HTML, CSS, JavaScript.

Conoscenza base del modello relazionale e di SQL.
Metodi didattici
Nella prima parte del corso si alterneranno lezioni teoriche e esercitazioni in laboratorio.

Nella seconda parte (più pratica) i concetti verranno illustrati analizzando in dettaglio diversi esempi concreti.
Altre informazioni
Durante il corso verranno assegnati degli esercizi e, nella lezione successiva, analizzate e discusse possibili soluzioni.
Modalità di verifica dell'apprendimento
L'esame consiste nella realizzazione di un progetto (un'applicazione web) e di un orale. Il progetto può essere realizzato anche in piccoli gruppi ma verrà verificato all'orale, che ciascun membro abbia effettivamente contribuito alla sua realizzazione. Durante l'esame orale verranno comunque fatte anche domande relative ai contenuti del corso. La valutazione del progetto di laboratorio e dell'esame orale determineranno il voto finale.
La realizzazione di un buon progetto che rispetti le specifiche indicate e la dimostrazione - all'orale - di aver contribuito alla sua realizzazione saranno considerati il minimo per raggiungere la sufficienza.
Programma esteso
Il corso è diviso in due parti: la prima riguarda il linguaggio di programmazione C# (concetti e costrutti fondamentali), la seconda introduce invece le metodologie, architetturali (es. Clean Architecture) e tecnologiche (caching, accesso ai dati, fattori che determinano le performance, testing, ...) per la realizzazione di applicazioni e servizi web di media complessità. Si utilizzerà ASP.NET Core quale stack tecnologico. Durante il corso verranno anche affrontati argomenti di supporto come l'accesso a dati relazionali tramite ORM (Object Relational Mapping), utilizzo di tool di sviluppo complessi (Visual Studio), unit testing.
Risultati di apprendimento attesi
Dimostrazione di saper concepire e progettare correttamente un'applicazione web di medio/alta complessità, sia per quanto concerne gli aspetti architetturali (ad esempio la corretta applicazione dei pattern object-oriented), sia per quanto riguarda la corretta integrazione di componenti tecnologiche in relazione agli obiettivi (ad esempio saper utilizzare in modo corretto quanto visto per realizzare un'applicazione scalabile).

Conoscenza e comprensione:
- linguaggio C#
- accesso a dati relazionali e non
- architettura delle applicazioni web (orientate al rendering di pagine e/o ai dati)
- tecniche per il rendering server-side di pagine dinamiche
- validazione dell'input
- notifiche push (server-to-client)
- tecniche mirate al fine tuning delle performance (es. caching)
- autenticazione e gestione delle autorizzazioni.

Capacità di applicare conoscenza e comprensione: dato insieme di specifiche utente che descrivono un problema,
- concepire la corretta architettura
- implementare l'architettura concepita
- verificarne il corretto funzionamento e rispetto delle specifiche
- documentare adeguatamente quanto concepito e implementato.
Ultimo aggiornamento:09-09-2026 00:14:31