[A01] IA per l'editoria
Descrizione: Sviluppo sistema per l'editoria ed integrazione AI con Wordpress e Amazon Services.
Sede: Unica Radio (Cagliari)
Responsabile: Carlo Pahler
Numero studenti: 2
Scadenza proposta: 05/05/2025
[A02] Sviluppo software per il Cloud PA
Descrizione: L'obiettivo del progetto di tirocinio sarà quello di creare competenze di sviluppo focalizzate prevalentemente sulla creazione e la verticalizzazione di applicazioni web based negli ambienti e linguaggi di riferimento dell’azienda (Microsoft .Net e/o Java). In particolare durante il periodo formativo l'attività dei tirocinanti riguarderà applicazioni software e portali web istituzionali contenenti aree di servizi online dedicati a cittadini e imprese. L'ambiente applicativo dell'azienda è basato su soluzioni modulari in cooperazione applicativa via webservice e ambienti verticali realizzati on-demand su specifiche della PA cliente (Enti locali, Comuni, Province, Regioni) Tutti i moduli applicativi della Arionline sono operanti in ambienti Cloud PA Qualificati da ACN (Agenzia CyberSicurezza Nazionale) e appositamente sviluppati per consentire l’erogazione di servizi PaaS/SaaS secondo le logiche e linee guida AgID e PNRR misura 1.2 e 1.4. Il tirocinante verrà affiancato dai tutor aziendali durante le diverse attività che vedranno fasi di analisi propedeutica delle funzionalità, disegno delle banche dati SQL Based e sviluppo di applicazioni software per il web. Le attività di sviluppo saranno realizzate attraverso processi industrializzati facilitanti e anche grazie all’utilizzo di librerie e moduli appartenenti a piattaforme “container” kubernet based o di kernel aziendale dedicato.
Sede: Arionline s.r.l. (Cagliari)
Responsabile: Arnaldo Pontis
Numero studenti: 1
Scadenza proposta: 31/12/2026
[R02] Sustainability Design nel ciclo di vita del software
Descrizione: A partire dall'ultimo decennio, si sta diffondendo la consapevolezza che l'informatica svolge un ruolo fondamentale nella sfidante questione globale della sostenibilità. Il Manifesto di Karlskrona (Becker et al., 2015) pone le basi per l'applicazione del pensiero sistemico al design di prodotti software e mette in risalto come la sostenibilità (o meglio, gli effetti) di un prodotto software si possano valutare in diverse dimensioni e secondo diversi ordini temporali. Più recentemente, anche la comunità Agile ha intrapreso la strada verso l'integrazione dei principi sistemici di sostenibilità nelle pratiche di sviluppo software, focalizzando l'attenzione su un approccio pragmatico e basato su brevi iterazioni. Tuttavia, restano alcuni problemi aperti quali la necessità di identificare e standardizzare i processi e le metriche per la valutazione della sostenibilità di un processo software e del suo prodotto. Il tirocinio è rivolto agli studenti che si riconoscono nei principi del manifesto di Karlskrona e che vogliono partecipare allo sviluppo e all'analisi di pratiche e metriche e in questo contesto.
Obiettivi: Arricchimento delle conoscenze teoriche tramite l'analisi della letteratura e la realizzazione dello stato dell'arte.
Applicazione pratica dei framework esistenti e delle metriche su progetti software Open Source.
Sviluppo di competenze nell'ingegneria del software ed in particolare nella definizione di metriche per la misura di specifiche dimensioni della sostenibilità.
Modalità: In questo tirocinio interno, gli studenti verranno guidati dal responsabile nella scelta dei documenti scientifici da studiare e nell'utilizzo dei framework. Agli studenti verrà assegnata una postazione in cui potranno lavorare con l'opportuna flessibilità di orari e date.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Andrea Pinna
Numero studenti: 2
Scadenza proposta: 31/10/2025
[R04] Rosetta Smart Contracts
Descrizione: L'attività del tirocinio riguarda lo sviluppo di smart contract per blockchain decentralizzate e permissionless. Gli smart contracts sono programmi che vengono eseguiti in modo sicuro e trasparente da una blockchain, e in grado di gestire e distribuire crypto-asset agli utenti seguendo logiche personalizzate e complesse. Esistono numerosi linguaggi di programmazione per smart contracts, ciascuno con caratteristiche, punti di forza e limitazioni specifiche. L'obiettivo del tirocinio è fornire allo studente una solida introduzione ai concetti fondamentali degli smart contracts, delle blockchain e delle criptovalute, consentendogli di sviluppare competenze teoriche e pratiche in un settore altamente innovativo.
Nello specifico, il tirocinante dovrà:
- approfondire lo studio di un linguaggio di programmazione per smart contracts (da concordare con il responsabile del progetto);
- implementare nel linguaggio scelto un insieme di use cases (vedi ad esempio https://github.com/blockchain-unica/rosetta-smart-contracts);
- testare le proprie implementazioni sulla blockchain.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Massimo Bartoletti
Numero studenti: 2
Scadenza proposta: 30/09/2025
[R05] Smart contracts analysis and verification
Descrizione: L'attività del tirocinio riguarda lo studio e la sperimentazione di tecniche avanzate di analisi e verifica per smart contracts su blockchain. Gli smart contracts sono programmi che vengono eseguiti in modo sicuro e trasparente da una blockchain, e in grado di gestire e distribuire crypto-asset agli utenti seguendo logiche personalizzate e complesse. La verifica degli smart contracts è un problema di notevole rilevanza pratica, in quanto anche un singolo bug può causare perdite multimilionarie di crypto-asset. L’obiettivo del tirocinio è fornire allo studente una solida introduzione alle nozioni fondamentali degli smart contract, delle blockchain e delle criptovalute, consentendogli di sviluppare competenze pratiche nella progettazione e verifica di sicurezza degli smart contracts e di comprendere i rischi che caratterizzano questo settore in rapida evoluzione.
Nello specifico, il tirocinante dovrà:
- approfondire lo studio di un linguaggio di programmazione per smart contracts;
- studiare uno strumento per l’analisi o la verifica di smart contracts;
- sperimentare lo strumento scelto su un insieme di use cases (vedi ad esempio https://github.com/bitbart/contracts-verification-benchmark);
I dettagli saranno concordati con il responsabile del progetto.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Massimo Bartoletti
Numero studenti: 2
Scadenza proposta: 30/09/2025
[A06] Tirocinio sviluppo web
Descrizione: Il tirocinante si occuperà di svolgere attività di supporto allo sviluppo di software gestionali ad uso interno.
Sede: NC8 Software s.r.l. (Cagliari)
Responsabile: Paola Valdes
Numero studenti: 2
Scadenza proposta: 31/03/2025
[A07] Intelligenza Artificiale Generativa, Motore di inferenza
Descrizione: Le attività di Tirocinio permettono al candidato di lavorare a stretto contatto con il Team di X-Ference, divisione interna di Apply dedicata interamente allo sviluppo di un progetto relativo alla realizzazione di un motore di Inferenza che permette di interrogare i propri dataset con l'intelligenza artificiale attraverso modelli LLM opensource. Il candidato potrà vedere come si fa inferenza con GPU ad alte prestazioni e capire come utilizzare i sistemi di inferenza.
Sede: Apply s.r.l. (Cagliari)
Responsabile: Andrea Pili
Numero studenti: 1
Scadenza proposta: 31/01/2025
[A08] Sviluppo di Funzionalità Avanzate per l'Automazione della Riconciliazione Bancaria e delle Scritture Contabili
Descrizione: L'obiettivo del progetto è sviluppare funzionalità avanzate per automatizzare la riconciliazione bancaria e le scritture contabili su una piattaforma interna di automazione contabile. Gli studenti saranno suddivisi in due team: un team di back end, che lavorerà con tecnologia .NET, e un team di front end, che utilizzerà React per l’interfaccia utente. Entrambi i team sfrutteranno tecniche di Intelligenza Artificiale e Machine Learning, comprese soluzioni di Generative AI, per implementare procedure di verifica automatica e riconciliazione dei dati contabili e bancari. Il progetto consentirà agli studenti di acquisire competenze avanzate nello sviluppo software, nell'integrazione di AI e nella gestione di flussi contabili automatizzati.
Sede: Maxtrino s.p.a. (Cagliari)
Responsabile: Enrico Casula
Numero studenti: 4
Scadenza proposta: 31/12/2026
[A09] Applicazioni dei Large Language Model nella Ricerca Operativa
Descrizione: Automatizzerai la scrittura e il test di modelli matematici, riducendo notevolmente i tempi e aumentando l'efficienza complessiva del processo.
Inoltre, lavorerai per migliorare le formulazioni di modelli matematici esistenti, rendendole più efficienti e compatte, al fine di ottimizzare ulteriormente la ricerca delle soluzioni.
Un aspetto cruciale sarà guidare gli algoritmi di ricerca verso soluzioni ottimali, utilizzando gli LLM per analizzare i dati e suggerire le migliori strategie di ricerca.
Avrai anche l'opportunità di produrre report in linguaggio naturale sfruttando gli LLM per spiegare le soluzioni in modo chiaro ed esaustivo, migliorando così la comprensione del processo decisionale.
Infine, abiliterai l'analisi what-if in linguaggio naturale, consentendo di esplorare scenari alternativi e comprendere gli effetti delle variazioni attraverso il confronto dei risultati.
Sede: Spindox s.p.a. (Cagliari)
Responsabile: Tommaso Colombo
Numero studenti: 1
Scadenza proposta: 01/12/2025
[A10] Time Series e Predizione del Venduto di Articoli Simili
Descrizione: Utilizzo di tecniche di machine learning e deep learning (inclusi modelli fondazionali) per lo sviluppo di prototipi industriali con l’obiettivo di prevedere l'andamento delle vendite, sia attraverso l'analisi di serie storiche di dati, sia mediante la previsione della domanda di nuovi articoli. Queste previsioni verranno realizzate confrontando i nuovi prodotti con quelli già presenti in catalogo, utilizzando la semantica delle descrizioni e il confronto delle immagini.
I modelli impiegati analizzeranno variazioni stagionali, tendenze e picchi imprevisti per ottimizzare la pianificazione delle scorte e le strategie di marketing. Inoltre, identificheranno similarità tra i prodotti attraverso il confronto delle descrizioni testuali e delle caratteristiche visive, permettendo di determinare il corretto approvvigionamento degli ordini per gli articoli in magazzino.
Il tirocinante lavorerà a stretto contatto con il team dedicato al cliente su progetti di business reali, acquisendo competenze avanzate nel campo delle serie storiche, machine learning e computer vision, oltre a capacità gestionali utili nel contesto aziendale.
Sede: Spindox s.p.a. (Cagliari)
Responsabile: Marina Putzu
Numero studenti: 2
Scadenza proposta: 01/12/2025
[A11] Computer Vision
Descrizione: Utilizzo di tecniche avanzate di computer vision per analizzare flussi video e immagini in tempo reale, provenienti da dispositivi sia mobili che fissi. Gli obiettivi dell'analisi possono variare in base al progetto specifico, spaziando dalla rilevazione di anomalie, come malfunzionamenti o incidenti, al riconoscimento e localizzazione di oggetti fissi, fino al monitoraggio di oggetti mobili. Quest'ultima applicazione consente l'acquisizione di caratteristiche come velocità, frequenza di movimento e altre peculiarità pertinenti all'ambito di studio, trasformando i segnali video in serie temporali per un'analisi più approfondita nel tempo.
Il tirocinante avrà l'opportunità di collaborare a stretto contatto con un team di esperti dedicato al progetto di ricerca, acquisendo competenze tecniche avanzate nel campo della computer vision e nella gestione di flussi video in tempo reale. Inoltre, svilupperà capacità di ricerca applicate a contesti sia industriali che innovativi.
Sede: Spindox s.p.a. (Cagliari)
Responsabile: Marina Putzu
Numero studenti: 2
Scadenza proposta: 01/12/2025
[A12] Progettazione e Sviluppo di Funzionalità Avanzate per l'Automazione del Processo Contabile Passivo
Descrizione: Il progetto di tirocinio prevede lo sviluppo di funzionalità avanzate per una piattaforma di automazione del ciclo passivo, con gli studenti divisi in due team: uno dedicato al back-end (tecnologia .NET) e l'altro al front-end (tecnologia React). Le attività includeranno la progettazione e implementazione di moduli che utilizzano AI, Machine Learning e Generative AI per automatizzare e migliorare le procedure di verifica e riconciliazione dei dati contabili. La metodologia prevede un approccio collaborativo per garantire l'integrazione fluida tra i moduli e un ciclo di sviluppo agile per favorire un costante avanzamento del progetto.
Sede: Maxtrino s.p.a. (Cagliari)
Responsabile: Enrico Casula
Numero studenti: 4
Scadenza proposta: 31/12/2026
[A13] Content Management System open source OpenCms
Descrizione: Lo scopo del tirocinio è l'acquisizione di competenze tecniche sul software open source OpenCms. OpenCms è un "Content Management System" basato su Java e XML. Il tirocinante verrà impiegato nello sviluppo dell'interfaccia editoriale per il progetto legato ai siti web dei comuni (https://comuni.coranto.it). I contenuti tecnici dello sviluppo verteranno su HTML, CSS, JavaScript, JSP, JSTL e XML.
Sede: Coranto Informatica di Antonio Cordeddu (Selargius)
Responsabile: Antonio Cordeddu
Numero studenti: 2
Scadenza proposta: 30/06/2025
[R13] Smart contract fees - Realizzazione di un tool per il confronto delle fee su diverse blockchian pubbliche
Descrizione: La tecnologia blockchain è una delle tecnologie chiave per lo sviluppo di applicazioni contemporanee. Com'è noto, l'utilizzo della maggior parte delle blockchain pubbliche comporta un costo, generalmente chiamato "fee", che l'utente deve sostenere. La fee si paga per operazioni semplici come l'invio di criptovaluta, o per operazioni più complesse come l'esecuzione degli smart contract. Oggi esistono numerose piattaforme blockchain in grado di eseguire gli smart contract (tra le più importanti si possono citare Ethereum, Cardano e Solana) che si distinguono anche per il modello di fee utilizzato. Tuttavia, non è facile comprendere quale blockchain è più conveniente di altre per la realizzazione di un determinato progetto software. Il tirocinio proposto si inserisce in un progetto che mira alla realizzazione di un tool di confronto delle fee di esecuzione di diversi smart contract. Il tirocinante esaminerà una tra le diverse piattaforme blockchain oggetto dello studio, utilizzando una base di codice comune (scritta in python) e sfruttando i contratti realizzati per il repository Rosetta Smart Contract. Il tirocinio consente allo studente di entrare nel dettaglio pratico degli smart contract e della loro integrazione in applicazioni web3 e analoghe, con le quali verranno valutate le fee.
Obiettivi:
- Studio della libreria python per una blockchain per smart contract (A scelta tra Solana, Cardano, ecc.).
- Sperimentazione pratica dei della libreria per il deploy e testing degli smart contract.
- Costruzione delle tracce di esecuzione per la valutazione degli smart contract.
Modalità: Gli studenti avranno a disposizione il repository Rosetta Smart Contract e verranno assistiti per tutta la durata del tirocinio. Verrà assegnata una postazione in cui potranno lavorare con l'opportuna flessibilità di orari e date.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Andrea Pinna
Numero studenti: 2
Scadenza proposta: 31/05/2025
[R14] Studio e sviluppo di un sistema di XAI basato su Decision Support System (regole interpretabili) e linguaggio naturale (LLM)
Descrizione: Il tirocinante analizzerà lo stato dell'arte in merito all'uso del linguaggio naturale nel contesto di sistemi di intelligenza artificiale per il supporto alle decisioni e svilupperà un sistema, prevalentemente utilizzando il linguaggio Python (e il framework di reasoning problog) un sistema in grado di compiere azioni/decisioni basandosi su regole stabilite dall'utente utilizzando il linguaggio naturale, tramite l'uso di Large Language Model (libreria hugging face, LLAMA3 e simili).
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Maurizio Atzori
Numero studenti: 1
Scadenza proposta: 30/05/2025
[A14] Modern Web Applications Development
Descrizione: Il progetto di tirocinio è finalizzato alla formazione di figure specializzate nello sviluppo di applicazioni web complesse, in linea con i moderni standard di sviluppo e metodologie di lavoro. Il tirocinio verte in particolare sullo sviluppo della componente frontend e delle sue interazioni con i sistemi backend di supporto, al fine di creare applicazioni dinamiche con un elevato livello di interattività e performance.
Al termine del tirocinio il candidato sarà in grado di:
- Sviluppare da zero un'applicazione web utilizzando i più moderni framework frontend;
- Organizzare in modo strutturato ed efficiente il codice frontend;
- Interagire in modo robusto con i sistemi backend, gestendo sia le risposte attese sia gli errori inaspettati;
- Conoscere nel dettaglio i pattern, le problematiche e le ottimizzazioni tipiche delle applicazioni frontend;
- Avere una comprensione chiara delle architetture e best practice più diffuse in ambito web.
Lo stack tecnologico utilizzato è basato su TypeScript, sia per la parte frontend sia per quella backend.
A seconda dell'andamento del progetto di tirocinio e qualora il tempo a disposizione fosse sufficiente, potranno essere introdotte le seguenti sezioni aggiuntive:
- cenni su sviluppo backend e utilizzo delle piattaforme di cloud computing
- cenni su sviluppo di applicazioni mobile tramite framework cross-platform.
Sede: Stackhouse s.r.l. (Cagliari)
Responsabile: Carmine Barbato
Numero studenti: 5
Scadenza proposta: 31/12/2025
[A15] Developing a modern web application from scratch
Descrizione: Questo progetto di tirocinio mira a formare, tramite il lavoro su un progetto reale, le competenze di analisi, progettazione e realizzazione necessarie per implementare un gestionale web utilizzando le metodologie e le tecnologie più moderne. Il focus sarà principalmente sull’analisi, la raccolta dei requisiti, la scrittura della documentazione di progetto (sia tecnica, sia funzionale), l’implementazione del codice e il testing finale prima del rilascio. Verranno realizzati i componenti front-end e i componenti back-end, utilizzando un’architettura a micro-componenti.
Al termine del tirocinio il candidato sarà in grado di:
- Organizzare la raccolta dei requisiti funzionali e tecnici per la scrittura della documentazione di progetto;
- Strutturare i documenti di analisi per permettere un’agevole e corretta implementazione dei micro componenti previsti per la soluzione;
- Sviluppare da zero un'applicazione web utilizzando i più moderni framework frontend sulla base dei requisiti raccolti e documentati;
- Organizzare in modo strutturato ed efficiente il codice frontend, applicando i pattern previsti dall’architettura a micro-componenti;
- Interagire in modo robusto con i sistemi backend, gestendo sia le risposte attese sia gli errori inaspettati;
- Conoscere nel dettaglio i pattern, le problematiche e le ottimizzazioni tipiche delle applicazioni frontend;
- Avere una comprensione chiara dell’architettura a micro-componenti e le best practice più diffuse in ambito web per la sua implementazione;
- Sviluppare un test book ed eseguire i test pre-rilascio.
Lo stack tecnologico utilizzato è basato su TypeScript, sia per la parte frontend sia per quella backend.
A seconda dell'andamento del progetto di tirocinio e qualora il tempo a disposizione fosse sufficiente, potranno essere introdotte le seguenti sezioni aggiuntive:
- Cenni su analisi funzionale, analisi tecnica, UML
- Cenni su sviluppo backend e utilizzo delle piattaforme di cloud computing;
- Cenni su sviluppo di applicazioni mobile tramite framework cross-platform.
Sede: Stackhouse s.r.l. (Cagliari)
Responsabile: Alessandro Costantino
Numero studenti: 5
Scadenza proposta: 31/12/2025
[R15] Large Language Models e Knowledge Graphs per applicazioni di healthcare
Descrizione: Nell'ambito dei sistemi di healthcare, molte iniziative di ricerca sono volte a riconoscere potenziali problemi di salute e sviluppare sistemi elettronici in grado di stimolare l'individuo a mettere in atto comportamenti più salutari. Questa posizione di tirocinio riguarda la progettazione e lo sviluppo prototipale di un agente conversazionale che possa agire come assistente terapeutico, offrendo consulenza personalizzata riguardo a specifici problemi di salute, soprattutto in ambito psicologico. Il sistema sarà in grado di identificare concetti medici nel discorso e rilevare parametri psicologici del soggetto. Durante il tirocinio, i partecipanti esploreranno l'impiego dei Large Language Models (LLMs), come ChatGPT e LLAMA, in grado di comprendere e generare linguaggio naturale. Approfondiranno inoltre la tecnica Retrieval-Augmented Generation (RAG), che arricchisce le risposte dei LLM integrando dati provenienti da fonti esterne non incluse nel loro set di addestramento, migliorando così la qualità e l'affidabilità delle risposte generate. Il linguaggio di programmazione utilizzato sarà Python.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Daniele Riboni
Numero studenti: 1
Scadenza proposta: 31/05/2025
[R23] Sintesi e classificazione automatica di dialoghi in psicoterapia con AI
Descrizione: Nel contesto della psicoterapia, la documentazione e l'analisi delle sedute rappresentano un aspetto fondamentale per il monitoraggio dei progressi del paziente e il supporto al lavoro del terapeuta. Tuttavia, la trascrizione manuale delle sessioni, la sintesi delle informazioni chiave e la classificazione dei contenuti in categorie tematiche richiedono un notevole dispendio di tempo ed energie. Questo tirocinio ha l'obiettivo di sviluppare un sistema basato su Intelligenza Artificiale che possa automatizzare questi processi, supportando il terapeuta nell'analisi dei dialoghi in modo efficiente e strutturato.
Durante il tirocinio, il candidato lavorerà su:
- Integrazione di modelli di riconoscimento vocale per la trascrizione automatica delle sessioni di terapia.
- Utilizzo di Large Language Models, come ChatGPT e LLAMA, per la sintesi dei contenuti e l'estrazione dei punti salienti delle conversazioni.
- Impiego di tecniche di AI per la classificazione dei dialoghi in categorie tematiche rilevanti per il supporto terapeutico (es. ansia, stress, relazioni interpersonali, autostima).
- Esplorazione della tecnica Retrieval-Augmented Generation per arricchire l'analisi con dati esterni, migliorando la precisione e la contestualizzazione delle informazioni estratte.
Il linguaggio di programmazione sarà Python, con l'integrazione di librerie e strumenti avanzati per AI.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Daniele Riboni
Numero studenti: 2
Scadenza proposta: 31/07/2025
[A16] Tirocinio web development
Descrizione: Il tirocinante entrerà a far parte di un team dedicato alla progettazione software. Durante il percorso formativo, svolto sotto la guida del Tutor aziendale, avrà l’opportunità di combinare lezioni teoriche con un coinvolgimento attivo in progetti concreti, adottando un approccio learn on the job. L'attività sarà focalizzata sulla ricerca, lo studio e l’implementazione di tecnologie per lo sviluppo di applicazioni software full stack, comprendendo sia il frontend che il backend di web application.
Il tirocinante lavorerà con tecnologie all’avanguardia nel settore, tra cui Node.js, Angular, React, Vue e altre soluzioni moderne per lo sviluppo web.
Sede: Visioscientiae s.r.l. (Cagliari)
Responsabile: Stefano Raimondo Chessa
Numero studenti: 1
Scadenza proposta: 06/03/2025
[R24] Chatbot basato su LLM per Motivational Interviewing
Descrizione: Nell'ambito della salute mentale e del supporto psicologico digitale, la ricerca si sta orientando verso lo sviluppo di strumenti basati sull'intelligenza artificiale in grado di facilitare interventi terapeutici efficaci. Questo tirocinio è focalizzato sulla progettazione e implementazione di un chatbot terapeutico che utilizza tecniche di Motivational Interviewing (MI) per supportare gli utenti nel cambiamento comportamentale e nella gestione di problematiche psicologiche. Il chatbot sfrutterà Large Language Models (LLMs) per comprendere e generare linguaggio naturale in maniera empatica e contestualmente appropriata. Verrà inoltre utilizzato il dataset ANNO-MI, un corpus annotato di colloqui terapeutici, per il fine-tuning del modello, con l'obiettivo di migliorare la qualità dell'interazione e l'aderenza ai principi dell'MI. Il linguaggio di programmazione principale sarà Python, con l'utilizzo di framework per il machine learning e il natural language processing come PyTorch, TensorFlow e LangChain.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Daniele Riboni
Numero studenti: 1
Scadenza proposta: 31/07/2025
[R25] Sviluppo di funzionalità aggiuntive di un’interfaccia web per simulatore di assorbimento di fluidi nel terreno.
Descrizione: L'obiettivo del tirocinio consiste nello studio e nell'estensione di FLOWS, un'applicazione sviluppata per simulare l'assorbimento dei fluidi nei terreni. Inizialmente progettato come un applicativo MATLAB, il software è stato recentemente oggetto di un porting verso un'applicazione web, con la necessità di un miglioramento grafico e funzionale. Il tirocinante avrà il compito di acquisire familiarità con strumenti quali Vue.js, JavaScript e MATLAB, al fine di ottimizzare e implementare nuove funzionalità dell'interfaccia utente e migliorare l'esperienza d’uso. Inoltre, dovrà seguire le migliori pratiche di programmazione e design per lo sviluppo di applicazioni interattive e garantirne la fruibilità attraverso il deployment su un server dedicato.
Attività previste: Il tirocinio si articola in tre fasi principali:
- Studio della tecnologia esistente: Analisi dell’architettura attuale di FLOWS, comprensione del codice sorgente e degli strumenti utilizzati per il porting.
- Sviluppo e ottimizzazione dell'interfaccia grafica: Implementazione di nuove funzionalità per migliorare la visualizzazione e l’interazione con l’utente, seguendo principi di UI/UX design.
- Deployment e distribuzione: Configurazione e caricamento del software su un server per renderlo accessibile all’utenza, garantendo stabilità e scalabilità del sistema.
Questo tirocinio offre l'opportunità di lavorare su un progetto reale e multidisciplinare, sviluppando competenze sia nella programmazione web sia nella simulazione scientifica.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Caterina Fenu
Numero studenti: 1
Scadenza proposta: 20/03/2025
[A17] Sviluppo applicazione per long-term (o clothing-change) person re-identification con focus sul volto dell’individuo
Descrizione: Lo scopo di questo tirocinio sarà quello di sviluppare un sistema per la long-term (o clothing-change) person re-identification. La re-identification consiste nel ritrovare un individuo (osservato in una telecamera) sui flussi video di altre telecamere. Nella re-identification classica le indagini vengono eseguite su filmati registrati in un range di poche ore, ma in questo tipo di re-identification le indagini si estendono anche a 24/48 e perciò si assume che le persone possano anche cambiare d’abito. Esistono differenti modi per gestire le differenze tra questo tipo di immagini, ma nella maggior parte dei casi ci si focalizza nell’estrazione di caratteristiche invarianti (quindi trascurando il colore dei vestiti). In questo tirocinio ci vogliamo soffermare sulle caratteristiche del volto, che potenzialmente (ad eccezione dei casi in cui si usino cappelli, mascherine, etc) è l’unico che non subisce modifiche sostanziali, perciò eseguiremo una detection del volto e poi una estrazione delle singole features del volto.
La prima parte del tirocinio consisterà nello studio dei metodi di face detection e face recognition esistenti, focalizzando poi l'attenzione solo su un paio di quelli più recenti, con prestazioni migliori per il task in oggetto e soprattutto con implementazione disponibile.
La seconda parte consisterà nell’adattamento del codice sorgente delle implementazioni disponibili e la relativa integrazione in una GUI python e allo scopo di eseguire degli esperimenti quantitativi sui dataset disponibili per questo task.
La terza e ultima parte è relativa al processo di sperimentazione vero e proprio e della conseguente visualizzazione e raccolta dei risultati sperimentali ottenuti mediante i modelli prodotti.
Sede: Spindox s.p.a. (Cagliari)
Responsabile: Marina Putzu
Numero studenti: 1
Scadenza proposta: 19/03/2025
[A18] Sviluppo di un sistema “plugin” per sistemi di person re-identification tramite uso di IA generativa
Descrizione: Lo scopo di questo tirocinio sarà quello di sviluppare un sistema che possa essere utilizzato come un plugin per i metodi esistenti di person re-identification. La re-identification consiste nel ritrovare un individuo (osservato in una telecamera) sui flussi video di altre telecamere. Gli attuali sistemi di person re-identification hanno già raggiunto delle prestazioni molto elevate nei test di laboratorio, ma spesso queste prestazioni crollano quando questi sistemi vengono utilizzati in applicazioni reali dove ci sono grandi variazioni in termini di risoluzione (spesso chiamata cross-resolution re-id), colori e soprattutto di prospettiva. Per sopperire a questo calo di prestazioni allo stato dell’arte vengono usate delle tecniche per aumentare il training set ed includere immagini modificate degli individui raffigurati. In questo tirocinio invece ci focalizzeremo sulle tecniche di test time-augmentation allo scopo di aumentare le immagini in fase di inferenza e rendere più robusta la predizione fornendo ai modelli pre-addestrati diverse varianti dello stesso individuo.
La prima parte del tirocinio consisterà nello studio dei metodi di person re-identitication, test-time augmentation e tecniche di IA generativa esistenti, focalizzando poi l'attenzione solo su un paio di quelli più recenti, con prestazioni migliori per il task in oggetto e soprattutto con implementazione disponibile.
La seconda parte consisterà nell’adattamento del codice sorgente delle implementazioni disponibili e la relativa integrazione in un sistema di re-identificazione esistente e allo scopo di eseguire degli esperimenti quantitativi sui dataset disponibili per questo task.
La terza e ultima parte è relativa al processo di sperimentazione vero e proprio e della conseguente visualizzazione e raccolta dei risultati sperimentali ottenuti mediante i modelli prodotti.
Sede: Spindox s.p.a. (Cagliari)
Responsabile: Marina Putzu
Numero studenti: 1
Scadenza proposta: 19/03/2025
[A19] Analisi di immagini multispettrali in ambito industriale e agricolo
Descrizione: L'analisi di immagini multispettrali rappresenta una tecnologia emergente con numerose applicazioni in ambito industriale e agricolo. Questa tecnologia permette di acquisire informazioni non visibili all'occhio umano attraverso l'analisi di diverse bande spettrali, consentendo una caratterizzazione approfondita dei materiali esaminati.
Lo scopo di questo tirocinio è quello di sviluppare un sistema di analisi basato su immagini multispettrali per casi d'uso specifici, per esempio il controllo qualità di tessuti in ambito industriale e la valutazione della maturazione e qualità delle mele in ambito agricolo.
Il sistema dovrà essere in grado di:
- Identificare difetti e anomalie nei tessuti non rilevabili con ispezione visuale tradizionale
- Valutare parametri qualitativi delle mele (maturazione, contenuto di zuccheri, presenza di difetti)
- Fornire una classificazione automatica basata sui parametri rilevati
La prima parte del tirocinio prevede lo studio delle tecniche di elaborazione di immagini multispettrali, machine e deep learning applicabili al contesto, con particolare focus sulle tecniche di pre-processing e calibrazione delle immagini, tecniche di feature extraction, algoritmi di segmentazione e classificazione.
La seconda parte sarà dedicata all'implementazione di un sistema prototipale attraverso l’uso di dataset pubblici e privati rappresentativi dei casi d’uso, contestualmente all’integrazione di tecniche di machine e deep learning ritenute più appropriate.
La terza e ultima parte riguarderà la validazione sperimentale del sistema con un focus sull’esecuzione di test comparativi e relative analisi quantitative e qualitative dei risultati ottenuti.
Sede: TR2 s.r.l.s. (Cagliari)
Responsabile: Daniele Ciarelli
Numero studenti: 1
Scadenza proposta: 19/03/2025
[R26] Analisi di primitive crittografiche estratte da firmware e malware in dispositivi IoT
Descrizione: L'attività di tirocinio prevede il reverse engineering e l'analisi a basso livello di firmware e malware utilizzati da sistemi operativi Linux, con particolare attenzione ad architetture impiegate in dispositivi IoT. In particolare, l'attività si concentrerà sull'analisi di funzioni crittografiche impiegate in questi contesti, con riferimento anche all'utilizzo di possibili primitive custom, valutandone l'impatto sulla integrità e la confidenzialità delle informazioni gestite da questi dispositivi.
Nello specifico, il tirocinante dovrà:
- Estrarre, disassemblare e decompilare firmware estratti da vari dispositivi Iot come webcam o router,
- attraverso l'uso di strumenti professionali;
- Ricostruire la struttura, in termini di funzioni utilizzate, di tali firmware individuando possibili primitive
- crittografiche;
- Analizzare ed individuare problematiche di sicurezza nell'utilizzo di tali primitive;
- Espandere tali analisi a possibili software malevoli che possono essere eseguiti in tali dispositivi.
Sede: Dipartimento di Matematica e Informatica (Cagliari)
Responsabile: Massimo Bartoletti
Numero studenti: 1
Scadenza proposta: 30/09/2025