Didattica e divulgazione dell'informatica
Didattica della programmazione2009–202212 pubblicazioni →
Questa linea di ricerca studia la didattica dell'informatica e, in
particolare, della programmazione. I contributi comprendono
un'analisi dell'insegnamento dell'informatica nelle scuole italiane
[Bellettini et al., 2014a] e una critica alla concezione
che riduce la programmazione alla codifica di algoritmi in un
linguaggio [Lonati et al., 2015]. Sono stati studiati
l'introduzione alla programmazione mediante progetti e strumenti
specifici [Bulgheroni e Malchiodi, 2009; Paterson et al., 2015], i percorsi interdisciplinari che
collegano programmazione e musica [Ludovico et al., 2017; Baratè et al., 2017a; Baratè et al., 2017b] e
l'insegnamento di aspetti avanzati della programmazione
[Lonati et al., 2016; Lonati et al., 2017d]. Un
approccio costruzionista all'insegnamento della programmazione è
stato analizzato in [Monga et al., 2018; Lodi et al., 2019], mentre
[Condorelli e Malchiodi, 2022] descrive la progettazione di
un insegnamento sulle architetture per big data, realizzata in
collaborazione con un partner industriale.
In collaborazione con laboratorio ALaDDIn (Università degli Studi di Milano)
Divulgazione della cultura informatica2012–202018 pubblicazioni →
Queste attività, svolte con il laboratorio ALaDDIn, mirano a
diffondere la conoscenza dei fondamenti dell'informatica nelle scuole
e presso un pubblico più ampio. Comprendono gare di informatica per
studenti, come il Kangourou dell'Informatica
[Lissoni et al., 2012; Lissoni et al., 2013; Lissoni et al., 2014; Lissoni et al., 2015]
e l'edizione italiana di Bebras. I quesiti di quest'ultima iniziativa
sono stati studiati come risorse didattiche e analizzati in termini
di difficoltà [Bellettini et al., 2015b; Lonati et al., 2017c; Calcagni et al., 2017; Lonati et al., 2017a; Morpurgo et al., 2018]. Sono state
inoltre proposte attività costruzioniste per l'apprendimento della
programmazione e del pensiero computazionale, basate anche sulla
musica e sui mattoncini LEGO® [Baratè et al., 2017b; Baratè et al., 2017a; Monga et al., 2018; Lodi et al., 2019]. A queste iniziative si affiancano la
formazione degli insegnanti [Bellettini et al., 2015a; Bellettini et al., 2018a; Bellettini et al., 2018b] e
contributi rivolti agli insegnanti e al grande pubblico
[Monga et al., 2017; Bellettini et al., 2020].
In collaborazione con laboratorio ALaDDIn (Università degli Studi di Milano)
Formazione degli insegnanti delle discipline informatiche2014–20209 pubblicazioni →
In [Bellettini et al., 2014c] viene introdotto
l'approccio algomotorio, che pone al centro dell'insegnamento
dell'informatica l'elaborazione automatica dell'informazione.
L'obiettivo è superare una didattica incentrata quasi esclusivamente
sul funzionamento di specifici strumenti tecnologici
[Lonati et al., 2015; Bellettini et al., 2014a; Bellettini et al., 2020]. L'approccio è stato valutato nei
percorsi di abilitazione all'insegnamento
[Bellettini et al., 2015a], con particolare attenzione
alla prospettiva costruttivista [Bellettini et al., 2018b; Bellettini et al., 2018a]. È stato inoltre studiato l'uso
didattico delle gare di informatica in contesti non competitivi
[Lonati et al., 2017c], analizzando come le modalità
di presentazione dei quesiti ne influenzino l'efficacia didattica
[Lonati et al., 2017a].
In collaborazione con laboratorio ALaDDIn (Università degli Studi di Milano)
Gare sul pensiero computazionale2012–20189 pubblicazioni →
Questa attività studia l'uso delle gare di informatica come risorse
per l'apprendimento nelle scuole primarie e secondarie, privilegiando
la dimensione educativa rispetto a quella competitiva. Comprende
l'organizzazione di gare sul territorio nazionale
[Lissoni et al., 2012; Lissoni et al., 2013; Lissoni et al., 2014; Lissoni et al., 2015], l'analisi critica dei loro
esiti [Bellettini et al., 2015b; Lonati et al., 2017a]
e lo studio del loro impiego didattico
[Lonati et al., 2017c; Calcagni et al., 2017; Morpurgo et al., 2018].
In collaborazione con laboratorio ALaDDIn (Università degli Studi di Milano)
Apprendimento informale dell'informatica2012–20179 pubblicazioni →
L'approccio algomotorio introdotto in
[Bellettini et al., 2014c; Bellettini et al., 2014b] è
stato applicato all'insegnamento di concetti fondamentali
dell'informatica, quali la rappresentazione dell'informazione
[Bellettini et al., 2012; Bellettini et al., 2013; Baratè et al., 2017a], i fondamenti della programmazione
[Baratè et al., 2017b] e le strategie algoritmiche
ricorsive e greedy [Lonati et al., 2016; Lonati et al., 2017d; Lonati et al., 2017b].
In collaborazione con laboratorio ALaDDIn (Università degli Studi di Milano)
Apprendimento statistico e inferenza algoritmica
Progettazione di algoritmi di apprendimento2013–20193 pubblicazioni →
Questa linea di ricerca studia algoritmi di apprendimento da dati con
etichette parziali o incerte e metodi per l'induzione di insiemi
fuzzy. In particolare, [Malchiodi e Legnani, 2014] propone
un'estensione di algoritmi di classificazione basati su vettori di
supporto che consente di trattare sia dati parzialmente etichettati
sia etichette incerte, mentre [Malchiodi e Pedrycz, 2013]
introduce un algoritmo per apprendere le funzioni di appartenenza di
insiemi fuzzy, successivamente adattato all'induzione di shadowed set
in [Malchiodi e Zanaboni, 2019].
Tecniche bootstrap per algoritmi di regressione2006–20095 pubblicazioni →
Le tecniche bootstrap utilizzano il ricampionamento dei dati per
stimare la distribuzione campionaria di una statistica e quantificare
l'incertezza delle stime. Questa linea di ricerca studia una variante
proposta inizialmente in [Apolloni et al., 2006a] e
successivamente approfondita in [Apolloni et al., 2009; Apolloni et al., 2007a], che consente di costruire regioni
di confidenza per curve di regressione senza ricorrere alle usuali
assunzioni sulla distribuzione degli errori di misurazione. Le
applicazioni alla regressione lineare e non lineare sono descritte in
[Apolloni et al., 2008c], mentre
[Apolloni et al., 2007c] presenta applicazioni in ambito
medico.
Sviluppo di modelli inferenziali per problemi di apprendimento computazionale2000–200715 pubblicazioni →
Questa linea di ricerca sviluppa l'Inferenza Algoritmica, un quadro
teorico che unifica problemi inferenziali della statistica, come la
stima puntuale e per intervalli dei parametri di distribuzioni, e
dell'informatica, come la stima dell'errore di approssimazione
nell'apprendimento computazionale [Apolloni et al., 2006a; Apolloni et al., 2005e; Apolloni et al., 2002e; Apolloni et al., 2002d; Apolloni e Malchiodi, 2001b; Malchiodi, 2000]. Il quadro sviluppa precedenti
risultati teorici sulla complessità campionaria dei problemi di
apprendimento [Apolloni e Malchiodi, 2001a]. È stato
applicato alla stima del rischio di classificazione mediante support
vector machine [Apolloni et al., 2007e; Apolloni et al., 2005b; Apolloni e Malchiodi, 2002; Apolloni e Malchiodi, 2001b] e alla costruzione di regioni di
confidenza per rette di regressione senza assumere una distribuzione
gaussiana degli errori [Apolloni et al., 2005f; Apolloni et al., 2002f]. In ambito medico, è stato
utilizzato per costruire regioni di confidenza per la funzione di
rischio associata al tempo di recidiva di specifiche patologie
tumorali [Apolloni et al., 2007c; Apolloni et al., 2005g; Apolloni et al., 2002i].
Progettazione di statistiche implementabili su hardware1996–20133 pubblicazioni →
L'uso di circuiti hardware dedicati al calcolo di stime a partire dai
dati consente di ridurre i tempi di elaborazione, ma richiede
algoritmi compatibili con i vincoli dell'architettura. Questa linea
di ricerca ha applicato il modello di inference among
gossips, sviluppato in
[Malchiodi, 1996], alla costruzione di una
famiglia di stimatori per popolazioni bernoulliane, implementabile
direttamente su schede pRAM
[Apolloni et al., 1997]. Lo stesso modello è
stato successivamente applicato allo studio dello scambio di
informazioni nelle reti sociali
[Apolloni et al., 2013].
Sistemi ibridi e neuro-simbolici
Semplificazione automatica di descrizioni simboliche2002–20065 pubblicazioni →
Nella teoria dell'apprendimento computazionale, il principio di
minimizzazione del rischio strutturale bilancia la complessità di un
modello con il suo errore sui dati di addestramento, con l'obiettivo
di favorirne la capacità di generalizzazione. Questa linea di
ricerca applica tale principio a classificatori basati su espressioni
logiche in forma normale disgiuntiva o congiuntiva. In
[Apolloni et al., 2006b; Apolloni et al., 2005h; Apolloni et al., 2003a; Apolloni et al., 2002h; Apolloni et al., 2002b] è stato sviluppato un algoritmo per
semplificare queste espressioni mediante l'ottimizzazione stocastica
dei parametri degli insiemi fuzzy che le descrivono.
Progettazione di sistemi ibridi di apprendimento2000–200613 pubblicazioni →
I sistemi ibridi di apprendimento combinano moduli subsimbolici,
spesso basati su reti neurali, e moduli simbolici basati su costrutti
logici. Questa linea di ricerca studia come integrare queste
rappresentazioni e altri modelli di apprendimento. In
[Apolloni et al., 2005a; Apolloni et al., 2004a]
viene descritto un sistema che estrae componenti booleane
indipendenti (bICA) dalle caratteristiche dei dati in ingresso. Le
componenti sono interpretate come valori di verità e utilizzate per
costruire formule logiche che rappresentano simbolicamente le
relazioni tra i dati [Apolloni et al., 2006b; Apolloni et al., 2003a; Apolloni et al., 2002a; Apolloni et al., 2000]. Il sistema è stato applicato al
riconoscimento delle emozioni a partire dal segnale vocale
[Apolloni et al., 2004a]. Sistemi di questo tipo sono
stati inoltre impiegati per monitorare l'attenzione del conducente
mediante biosegnali [Apolloni et al., 2004c; Apolloni et al., 2004b; Apolloni et al., 2003d; Apolloni et al., 2003c; Apolloni et al., 2003b],
nell'ambito del progetto ORESTEIA (mOdular hybRid artEfactS wiTh
adaptivE functIonAlity, IST-2000-26091), finanziato dall'Unione
europea nel quinto programma quadro, nell'area IST-FET, tra il 2001 e
il 2003. Un secondo filone integra un sistema fuzzy per misurare la
rilevanza degli esempi del campione di addestramento con modelli di
classificazione e regressione. In particolare,
[Apolloni e Malchiodi, 2006] descrive l'integrazione con un
classificatore lineare basato su support vector machine, mentre
[Apolloni et al., 2005c] presenta quella con un
modello di regressione lineare.
Classificazione automatica delle emozioni2000–20064 pubblicazioni →
Questa attività ha applicato il modello di inferenza algoritmica
descritto in [Apolloni et al., 2006a; Malchiodi, 2000] alla classificazione automatica
delle emozioni a partire da segnali audiovisivi
[Apolloni et al., 2004a; Apolloni et al., 2002a]. La
ricerca è stata svolta nell'ambito del progetto PHYSTA
(Principled Hybrid Systems: Theory and Applications),
finanziato dall'Unione europea nel quarto programma quadro, nell'area
TMR, tra il 1998 e il 2000. I risultati sono stati presentati in una
scuola internazionale di apprendimento computazionale organizzata
nell'ambito dello stesso progetto.
Sistemi intelligenti per pervasive e ubiquitous computing2003–20046 pubblicazioni →
Il progetto ORESTEIA (mOdular hybRid artEfactS wiTh adaptivE
functIonAlity) ha studiato la progettazione, realizzazione e
analisi di sistemi intelligenti per il pervasive e l'ubiquitous
computing, che integrano capacità di elaborazione nell'ambiente e
negli oggetti di uso quotidiano. Il progetto è stato finanziato
dall'Unione europea nel quinto programma quadro, nell'area IST-FET,
tra il 2001 e il 2003. Nell'ambito dello studio del rilevamento
degli stati di attenzione
[Kasderidis et al., 2003], è stato sviluppato un
prototipo per riconoscere lo stato di attenzione del conducente di
un'autovettura a partire da segnali fisiologici
[Apolloni et al., 2004c; Apolloni et al., 2004b; Apolloni et al., 2003d; Apolloni et al., 2003c; Apolloni et al., 2003b].
Calcolo scientifico e simulazione
Applicazioni dei sistemi per il calcolo automatico2006–201314 pubblicazioni →
I sistemi di calcolo scientifico consentono di effettuare simulazioni
e di esplorare problemi matematici in modo interattivo e
incrementale, offrendo strumenti per la progettazione di attività
didattiche [Bulgheroni e Malchiodi, 2009; Malchiodi, 2008b]. Un sistema commerciale è stato
descritto in dettaglio in [Malchiodi, 2007] ed esteso
con funzionalità per la codifica dell'informazione
[Malchiodi, 2006d], l'invocazione remota di procedure
[Malchiodi, 2006c; Malchiodi, 2006a] e la
produzione di documentazione scientifica
[Malchiodi, 2011]. Ulteriori estensioni
riguardano l'ottimizzazione [Malchiodi, 2006b],
l'apprendimento basato su vettori di supporto
[Malchiodi et al., 2009b; Malchiodi et al., 2009a] e la validazione del software
[Malchiodi, 2013a]. Il codice sviluppato è alla
base delle simulazioni descritte in [Apolloni et al., 2007d; Apolloni e Malchiodi, 2006]. Infine,
[Malchiodi, 2010] presenta una libreria per il
machine learning basata su un sistema open source di calcolo
scientifico.
Studio della dinamica di popolazioni2002–20108 pubblicazioni →
Questa linea di ricerca studia la modellazione matematica di
situazioni di conflitto mediante un approccio alternativo alla teoria
dei giochi classica. In [Apolloni et al., 2006d; Apolloni et al., 2003e; Apolloni et al., 2002g; Apolloni et al., 2002c] vengono considerati giochi tra due
contendenti, modellando il conflitto attraverso l'approssimazione
della soluzione di un problema NP-hard. Il modello di inferenza
algoritmica viene impiegato per determinare come assegnare ai
giocatori risorse computazionali limitate.
[Apolloni et al., 2006c] estende l'approccio ai giochi di
squadra. Le applicazioni in ambito biologico sono descritte in
[Apolloni et al., 2007b; Apolloni et al., 2005d],
mentre [Apolloni et al., 2010b] utilizza il modello per
determinare il tempo di calcolo da assegnare ad algoritmi di
apprendimento basati sulla minimizzazione locale dell'errore.