Skip to Main Content (Press Enter)

Logo UNIBG
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Persone
  • Pubblicazioni
  • Strutture
  • Terza Missione
  • Attività
  • Competenze

UNI-FIND
Logo UNIBG

|

UNI-FIND

unibg.it
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Persone
  • Pubblicazioni
  • Strutture
  • Terza Missione
  • Attività
  • Competenze
  1. Insegnamenti

PROGETTAZIONE, ALGORITMI E COMPUTABILITÀ - 38090-MOD1

insegnamento
ID:
38090-MOD1
Dettaglio:
SSD: Sistemi di elaborazione delle informazioni Durata: 72 CFU: 9
Sede:
DALMINE
Url:
Dettaglio Insegnamento:
INGEGNERIA INFORMATICA - 38-270/PERCORSO COMUNE Anno: 1
Anno:
2026
Course Catalogue:
https://unibg.coursecatalogue.cineca.it/af/2026?co...
  • Dati Generali
  • Syllabus
  • Corsi
  • Persone
  • Altre Info

Dati Generali

Periodo di attività

Primo Semestre (14/09/2026 - 19/12/2026)

Syllabus

Obiettivi Formativi

Al termine del modulo, lo studente acquisisce conoscenze teoriche e pratiche su metodi, strumenti e tecnologie per progettare e implementare applicazioni software distribuite, sia “in grande” sia “in piccolo”. In particolare, il modulo affronta: processi di sviluppo agili; progettazione, documentazione e analisi dell’architettura software; sviluppo orientato a componenti e servizi; principi di progettazione di API e architetture distribuite; uso efficiente di algoritmi e strutture dati; modellazione con UML; programmazione orientata agli oggetti con Java; utilizzo di ambienti di sviluppo, framework, plug-in e tecnologie di supporto per la realizzazione e testing di sistemi software modulari, manutenibili e scalabili.

Il modulo introduce inoltre le principali evoluzioni delle architetture software moderne, con particolare attenzione ai sistemi distribuiti basati su servizi, microservizi e componenti intelligenti. In prospettiva, vengono discussi anche i principi alla base delle architetture agentic, in cui componenti software autonomi o agenti basati su AI/LLM possono pianificare, interagire con strumenti, coordinarsi con altri servizi o agenti e contribuire alla realizzazione di workflow software complessi.



Prerequisiti

Fondamenti di informatica, ingegneria del software e notazione UML, programmazione Java, elementi di analisi matematica su serie e successioni.

Metodi didattici

Didattica frontale ed esercitazione in laboratorio.

Verifica Apprendimento

Prova scritta e prova orale (progettazione e sviluppo di un progetto software).

L'esame prevede una prova scritta ed una, successiva, prova orale. Entrambe le prove sono obbligatorie. La prova scritta è divisa in due parti. La prima parte comprende 4 domande a risposta aperta su "Progettazione e algoritmi" (durata di un'ora e mezza), mentre la seconda parte comprende un questionario a risposta multipla e una a risposta aperta sulla "Computabilità" (durata 30 minuti). Viene ammesso all'orale solo chi consegue nella prova scritta un punteggio superiore a 18/30. La prova orale consiste nella presentazione e discussione di un elaborato software, realizzabile anche a piccoli gruppi di 2-3 studenti, e la si supera con un punteggio superiore a 18/30.
Il voto finale dell'intero corso integrato di "PROGRAMMAZIONE AVANZATA + PROGETTAZIONE,ALGORITMI E COMPUTABILITA'" a cui questo modulo appartiene è dato dalla media pesata (in base ai CFU) tra i voti conseguiti nei due moduli.
Al fine di garantire l'efficace organizzazione e gestione delle prove d'esame, il docente può adottare il cosiddetto "salto d’appello"; immediatamente successivo per gli studenti che abbiano riportato una valutazione gravemente insufficiente o che, essendosi iscritti, risultino assenti ingiustificati.

Contenuti

**Progettazione in grande**: Si progetta e analizza la suddivisione del software in sotto-sistemi/componenti funzionali e lo scambio dati/comunicazione tra questi mediate API in ambito distribuito. Argomenti: processi di sviluppo agili, AMDD, gestione dei requisiti e modellazione dei casi d'uso, progettazione dell'architettura software e delle componenti in UML, analisi di qualità di una architettura software (affidabilità e disponibilità), design pattern e stili architetturali avanzati quali architetture adattative, IoT-Cloud, architettura a (micro)-servizi, ad agenti, ecc., sviluppo del software per componenti/oggetti, sviluppo di interfacce grafiche di applicazioni desktop e mobili in Java/Android, sviluppo di API REST, testing di unità delle componenti e testing di API, strumenti per il calcolo di metriche di qualità e analisi statica del software. **Progettazione in piccolo**: Analisi di dettaglio di ogni componente e definizione dell'algoritmo. Argomenti: Introduzione agli algoritmi e strutture dati, ciclo di sviluppo di codice algoritmo, complessità del calcolo e notazione asintotica, realizzazione di algoritmi e tipi astratti di dati in Java, strutture dati e algoritmi fondamentali (liste, pile, code), algoritmi di ordinamento, alberi e loro gestione, alberi di ricerca (alberi binari di ricerca, B-alberi, alberi rosso-neri), applicazioni degli alberi per il processamento di documenti XML, tabelle hash, grafi e loro rappresentazione e gestione, cammini minimi, metodologie di progettazione di algoritmi (incrementale,divide-et-impera,greedy,programmazione dinamica). **Computabilità**: Teoria della computabilità: concetti e teoremi fondamentali; Macchine di Turing; calcolo deterministico e non-deterministico.


Risorse Online

  • Materiali didattici online (e-learning)
  • Leganto - Testi d'esame

Altre informazioni

Per il materiale didattico e altri dettagli sul corso, occorre iscriversi e fare riferimento al corso sulla piattaforma di e-learning Moodle UniBg.

Corsi

Corsi

INGEGNERIA INFORMATICA - 38-270 
Laurea Magistrale
2 anni
No Results Found

Persone

Persone (2)

SCANDURRA Patrizia
Gruppo 09/IINF-05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
AREA MIN. 09 - Ingegneria industriale e dell'informazione
Settore IINF-05/A - Sistemi di elaborazione delle informazioni
Componente del Presidio della Qualità
SCANDURRA Patrizia
Gruppo 09/IINF-05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
AREA MIN. 09 - Ingegneria industriale e dell'informazione
Settore IINF-05/A - Sistemi di elaborazione delle informazioni
Professori Associati
No Results Found

Altre Info

Insegnamento principale

C.I. PROGRAMMAZIONE AVANZATA + PROGETTAZIONE,ALGORITMI E COMPUTABILITA'
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 26.7.2.0