B0074 - PIATTAFORME PER LA TRASFORMAZIONE DIGITALE

Anno Accademico 2025/2026

  • Docente: Giancarlo Succi
  • Crediti formativi: 8
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea Magistrale in Governance e politiche dell'innovazione digitale (cod. 5889)

    Valido anche per Laurea Magistrale in Informatica (cod. 6698)

Conoscenze e abilità da conseguire

Il corso intende offrire gli strumenti utili alla comprensione dei concetti di processo, di trasformazione digitale, delle questioni teoriche e tecniche relative alle piattaforme digitali, e del loro impatto sui processi. Al termine del corso lo studente sarà in grado di comprendere l'impatto che le piattaforme hanno sui processi organizzativi, decisionali, politici e sociali, e di valutare il potenziale impatto della trasformazione digitale sugli stessi.

Contenuti

Presentazione del corso

Il corso esamina l'integrazione di tecnologie emergenti nei processi di sviluppo software contemporanei, con particolare attenzione ai modelli cognitivi che governano la produzione di sistemi complessi. L'insegnamento analizza come l'intelligenza artificiale, i sistemi blockchain e le criptovalute modifichino i paradigmi tradizionali dell'ingegneria del software, richiedendo nuovi approcci metodologici e architetturali.

Il programma si articola attraverso l'analisi critica delle opportunità e dei vincoli introdotti da queste tecnologie, esaminando tanto gli aspetti teorici quanto le implicazioni pratiche per la progettazione e manutenzione di sistemi software distribuiti. Particolare enfasi viene posta sui modelli cognitivi che descrivono come gli sviluppatori interagiscono con strumenti basati su intelligenza artificiale e come questi influenzino i processi decisionali nella costruzione del software.

Obiettivi formativi

Al termine del corso, lo studente sarà in grado di:

  • Analizzare i modelli cognitivi che descrivono l'interazione tra sviluppatori e sistemi di intelligenza artificiale
  • Valutare criticamente le potenzialità e i limiti dell'applicazione dell'IA nei processi di sviluppo software
  • Applicare principi di ingegneria del software nella progettazione di sistemi basati su intelligenza artificiale
  • Comprendere i fondamenti teorici e pratici dei sistemi blockchain e le loro implicazioni architetturali
  • Identificare le problematiche tecniche e metodologiche associate all'integrazione di criptovalute nei sistemi software
  • Progettare architetture software complesse che integrino intelligenza artificiale, blockchain e criptovalute

Contenuti del corso

Moduli teorici

  • Modelli cognitivi nello sviluppo software: Analisi dei processi mentali coinvolti nella programmazione e nell'interazione con sistemi intelligenti
  • Intelligenza artificiale per l'ingegneria del software: Applicazioni dell'IA nei processi di testing, debugging, refactoring e manutenzione del codice
  • Ingegneria del software per sistemi IA: Metodologie specifiche per lo sviluppo, validazione e deployment di sistemi basati su machine learning
  • Architetture blockchain: Principi crittografici, meccanismi di consenso e implicazioni per la progettazione software
  • Criptovalute e sistemi distribuiti: Protocolli, smart contracts e integrazione con applicazioni software tradizionali

Componenti pratiche

  • Analisi di casi studio reali di integrazione tecnologica
  • Progettazione di architetture software ibride
  • Valutazione critica di sistemi esistenti
  • Sperimentazione con piattaforme di ricerca avanzate

Prerequisiti

Pur non avendo alcun prerequisito formale, il corso si caratterizza come corso di ingegneria del software e quindi non presenterà gli aspetti fondanti dell’intelligenza artificiale e dell’apprendimento automatico; all’uopo si raccomanda agli studenti che non abbiano tali competenze di seguire preventivamente il corso di Deep Learning, cod. 91250, del prof. Asperti.

Testi/Bibliografia

Data la novità del temi e la loro continua evoluzione, non c’è un testo ufficiale del corso, ma il docente provvederà a fornire una lista di letture rilevanti per il corso.


Metodi didattici

  • Lezioni frontali
  • Esercitazioni guidate
  • Discussioni
  • Presentazioni di esperti
  • Presentazioni da parte degli studenti

Modalità di verifica e valutazione dell'apprendimento

  • Nella prima sessione di esame per gli studenti frequentanti, lo studente in corso può scegliere tra un orale onnicomprensivo e un progetto (eventualmente da svolgersi in gruppo) sui temi del corso ed assegnato dal docente.
  • Nelle successive sessioni e sempre per gli studenti non frequentanti, la valutazione si baserà su un orale onnicomprensivo.

Strumenti a supporto della didattica

Il corso utilizza strumenti usuali per le attività didattiche ed una piattaforma sperimentale unica basata sull'integrazione di LLMs, reti semantiche, e HPC (https://research.constructor.tech/) gentilmente fornita dal pionieristico Constructor Group (https://constructor.tech).

Il docente raccomanda caldamente l'uso della carta e della penna/matita per la partecipazione alle attività in aula, e, quando richiesto, di un portatile con accesso ad internet anche per accedere alla menzionata piattaforma. Sistemi e applicativi con licenza aperta sono preferiti.


Orario di ricevimento

Consulta il sito web di Giancarlo Succi