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:
2025
Course Catalogue:
https://unibg.coursecatalogue.cineca.it/af/2025?co...
  • Dati Generali
  • Syllabus
  • Corsi
  • Persone

Dati Generali

Periodo di attività

Primo Semestre (15/09/2025 - 20/12/2025)

Syllabus

Obiettivi Formativi

Al termine del modulo, lo studente acquisisce conoscenze teoriche e pratiche su metodi e strumenti di sviluppo utili per progettare e implementare “in grande” ed “in piccolo” un'applicazione software, attraverso: un processo di sviluppo “agile”; progettazione e analisi dell'architettura software; uno sviluppo orientato alle componenti/servizi e all'efficienza degli algoritmi e strutture dati impiegate; il linguaggio di modellazione UML ed un linguaggio di programmazione ad oggetti come Java; l’ambiente di sviluppo Eclipse e relativi plug-in, framework e altre tecnologie di supporto per lo sviluppo di API e architetture software anche distribuite.

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.

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, ecc., sviluppo del software per componenti/oggetti, sviluppo di interfacce grafiche di applicazioni desktop e mobili in Java/Android, sviluppo di API con REST e gRPC, testing di unità delle componenti e copertura del codice, 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.

In caso di disposizioni dell’autorità competenti in materia di contenimento e gestione dell’emergenza epidemiologica, l'insegnamento potrebbe subire modifiche rispetto a quanto dichiarato nel syllabus per rendere il corso e gli esami in linea con quanto disposto.

Corsi

Corsi

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

Persone

Persone (2)

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

Realizzato con VIVO | Designed by Cineca | 25.12.4.0