2025-11-22T23:52:17.167783

Choose Your Own Solution: Supporting Optional Blocks in Block Ordering Problems

Oakeson, Smith, Winder et al.
This paper extends the functionality of block ordering problems (such as Parsons problems and Proof Blocks) to include optional blocks. We detail the algorithms used to implement the optional block feature and present usage experiences from instructors who have integrated it into their curriculum. The optional blocks feature enables instructors to create more complex Parsons problems with multiple correct solutions utilizing omitted or optional blocks. This affords students a method to engage with questions that have several valid solutions composed of different answer components. Instructors can specify blocks with multiple mutually exclusive dependencies, which we represent using a multigraph structure. This multigraph is then collapsed into multiple directed acyclic graphs (DAGs), allowing us to reuse existing algorithms for grading block ordering problems represented as a DAG. We present potential use cases for this feature across various domains, including helping students learn Git workflows, shell command sequences, mathematical proofs, and Python programming concepts.
academic

Scegli la Tua Soluzione: Supporto dei Blocchi Opzionali nei Problemi di Ordinamento dei Blocchi

Informazioni Fondamentali

  • ID Articolo: 2510.11999
  • Titolo: Choose Your Own Solution: Supporting Optional Blocks in Block Ordering Problems
  • Autori: Skyler Oakeson (Utah State University), David H. Smith IV (Virginia Tech), Jaxton Winder (Utah State University), Seth Poulsen (Utah State University)
  • Classificazione: cs.HC (Human-Computer Interaction)
  • Data di Pubblicazione/Conferenza: Giugno 2018 (Acronimo Conferenza 'XX)
  • Link Articolo: https://arxiv.org/abs/2510.11999

Riassunto

Questo articolo estende la funzionalità dei problemi di ordinamento dei blocchi (come i problemi di Parsons e Proof Blocks), introducendo la caratteristica dei blocchi opzionali. Gli autori descrivono in dettaglio l'algoritmo per implementare la funzionalità dei blocchi opzionali e presentano l'esperienza d'uso da parte degli insegnanti nell'integrazione nel curriculum. La funzionalità dei blocchi opzionali consente agli insegnanti di creare problemi di Parsons più complessi, supportando molteplici soluzioni corrette che utilizzano blocchi omessi o opzionali. Questo fornisce agli studenti un metodo per affrontare molteplici soluzioni valide composte da componenti di risposta diversi. Gli insegnanti possono specificare blocchi con molteplici dipendenze mutuamente esclusive, rappresentate utilizzando strutture multigrafi. Questo multigrafo viene quindi collassato in molteplici grafi aciclici diretti (DAG), consentendo il riutilizzo degli algoritmi di valutazione dei problemi di ordinamento dei blocchi basati su DAG esistenti.

Contesto di Ricerca e Motivazione

Definizione del Problema

I tradizionali problemi di ordinamento dei blocchi (come i problemi di Parsons e Proof Blocks) presentano una limitazione critica: non possono includere blocchi opzionali o blocchi che sono validi in una soluzione ma non in un'altra. I sistemi esistenti richiedono che ogni soluzione corretta contenga un insieme fisso di blocchi, il che limita la capacità degli insegnanti di creare problemi complessi che riflettono i processi di risoluzione dei problemi nel mondo reale.

Importanza

  1. Riflessione del Mondo Reale: Nel mondo reale, problemi di programmazione, prove matematiche e comandi shell hanno tipicamente molteplici soluzioni equivalenti
  2. Valore Educativo: Far comprendere agli studenti che i problemi possono avere molteplici risposte ugualmente valide è un importante obiettivo di apprendimento
  3. Esigenza di Flessibilità: Gli insegnanti hanno bisogno di creare problemi didattici più complessi e più vicini alle applicazioni pratiche

Limitazioni degli Approcci Esistenti

  • Il lavoro di Poulsen et al., sebbene supporti molteplici ordinamenti dello stesso insieme di blocchi, non supporta molteplici soluzioni con combinazioni di blocchi diverse
  • Il feedback basato sull'esecuzione, sebbene possa gestire problemi multi-soluzione, manca della granularità e dell'applicabilità del feedback basato su righe
  • Non può essere utilizzato in scenari non eseguibili come le prove matematiche

Contributi Principali

  1. Algoritmo di Collasso del Multigrafo: Propone un algoritmo per collassare le relazioni di dipendenza rappresentate in multigrafi in molteplici grafi aciclici diretti
  2. Interfaccia dei Blocchi Opzionali: Fornisce agli insegnanti un'interfaccia e una specifica per scrivere problemi di ordinamento dei blocchi opzionali
  3. Casi di Applicazione Interdisciplinari: Dimostra l'applicazione nell'insegnamento della programmazione introduttiva, della matematica discreta e dei comandi shell
  4. Analisi della Complessità dell'Algoritmo: Fornisce analisi teorica della complessità temporale dell'algoritmo e dati di applicazione pratica

Spiegazione Dettagliata del Metodo

Definizione del Compito

Input: Rappresentazione multigrafo di un problema di ordinamento dei blocchi con relazioni di dipendenza opzionali Output: Tutte le possibili rappresentazioni DAG valide, utilizzate per valutare le soluzioni inviate dagli studenti Vincoli: Mantenere l'aciclicità del problema, supportare percorsi di dipendenza mutuamente esclusivi

Architettura dell'Algoritmo Principale

1. Rappresentazione del Multigrafo

Utilizza un multigrafo con archi colorati per rappresentare le relazioni di dipendenza opzionali:

  • I nodi rappresentano blocchi di codice o passi di prova
  • Gli archi colorati rappresentano percorsi di dipendenza logica alternativi
  • L'operatore pipe (|) nella specifica HTML rappresenta dipendenze mutuamente esclusive

2. Algoritmo di Collasso del Multigrafo (Algoritmo 1)

Funzione Collapse(M, F):
    CollapsedGraphs (CD) ← lista vuota
    PartiallyCollapsedGraphs (PCGs) ← coda vuota
    Enqueue(PCGs, M)
    
    mentre PCG non è vuota:
        G ← Dequeue(PCGs)
        (v, DAG) ← DFSuntil(G, F)
        
        se v è NULL:
            aggiungi DAG a CD
        altrimenti:
            per ogni Color in G:
                PCG ← copia(G)
                Rimuovi tutti gli archi su v con colore ≠ Color
                Enqueue(PCGs, PCG)
    
    ritorna CD

3. Algoritmo DFS-Until (Algoritmo 2)

Ricerca in profondità modificata con condizioni di arresto:

  • Attraversamento inverso a partire dal nodo finale
  • Arresto quando si incontra un arco multicolore e restituzione del nodo da elaborare
  • Restituzione di un DAG valido al completamento dell'attraversamento

Punti di Innovazione Tecnica

  1. Conversione da Multigrafo a DAG: Utilizzo innovativo di archi colorati per rappresentare dipendenze mutuamente esclusive, seguito dalla generazione sistematica di tutte le possibili combinazioni di DAG
  2. Ottimizzazione della Complessità dell'Algoritmo:
    • Complessità temporale: O(d·(n+m)), dove d è il numero di DAG generati
    • Nella pratica applicativa il valore di d è piccolo (≤8), garantendo praticità
  3. Compatibilità Retroattiva: Riutilizzo degli algoritmi di valutazione DAG esistenti, senza necessità di riprogettare il meccanismo di valutazione

Configurazione Sperimentale

Test su Domini Applicativi

L'articolo è stato testato in tre domini principali:

  1. Matematica Discreta: Molteplici metodi di costruzione di prove matematiche
  2. Programmazione Introduttiva: Diverse modalità di implementazione di funzioni Python
  3. Comandi Shell: Flussi di lavoro Git e sequenze di comandi Unix

Dati di Analisi della Complessità

Gli autori hanno raccolto dati di complessità da 12 problemi reali:

Tipo di ContenutoNumero di Blocchi (n)Numero di Archi (m)Numero di DAG (d)
Comandi Bash5-134-102-4
Programmazione Python6-138-132-8
Prove Matematiche10-1110-132

Esperienza d'Uso degli Insegnanti

  • Il secondo autore ha utilizzato il sistema in un grande corso di programmazione introduttiva, inclusi compiti e esami
  • Il terzo autore ha valutato le conoscenze di shell e Git in un corso sui fondamenti dell'ingegneria del software
  • Supporta la presentazione parallela di paradigmi di programmazione iterativi e funzionali

Risultati Sperimentali

Principali Scoperte

  1. Verifica della Praticità: Tutti i problemi effettivamente creati rimangono entro un intervallo di complessità ragionevole (d≤8)
  2. Efficacia Didattica:
    • Gli studenti sono in grado di esplorare molteplici percorsi di soluzione
    • Fornisce un'esperienza di apprendimento più ricca rispetto a una singola soluzione
    • Mostra una buona capacità di discriminazione nell'insegnamento dei flussi di lavoro Git
  3. Prestazioni del Sistema:
    • L'algoritmo funziona bene nelle applicazioni pratiche
    • Integrazione riuscita nella piattaforma PrairieLearn
    • Mantiene i vantaggi degli algoritmi di valutazione DAG esistenti

Analisi dei Casi di Applicazione

Esempio di Programmazione

Il problema della funzione di somma mostra 4 soluzioni valide:

  • Metodo dettagliato: dichiarazione di variabili, accumulo graduale
  • Metodo conciso: assegnazione diretta di espressioni
  • Metodo ibrido: varianti che combinano entrambi gli approcci

Esempio di Prova Matematica

La prova della proprietà dei numeri pari supporta due metodi:

  • Prova diretta: assumere n pari, provare che n+10 è pari
  • Prova per contraddizione: assumere n+10 dispari, derivare una contraddizione

Lavori Correlati

Ricerca sui Problemi di Parsons

  • Dale Parsons e Patricia Haden hanno introdotto per la prima volta il concetto di puzzle di programmazione
  • Ericson et al. hanno provato che i problemi di Parsons sono altrettanto efficaci dei tradizionali esercizi di programmazione ma più efficienti
  • I problemi di Parsons adattivi consentono agli studenti di regolare la difficoltà in base al loro livello di competenza

Estensione di Proof Blocks

  • Poulsen et al. hanno esteso l'ordinamento dei blocchi al dominio delle prove matematiche
  • Introduzione della rappresentazione DAG per gestire molteplici ordinamenti corretti
  • Sviluppo di meccanismi di credito parziale basati sulla distanza di modifica

Ricerca su Elementi Distraenti

  • Gli elementi distraenti tradizionali sono blocchi di codice errati
  • Questo articolo ridefinisce: dopo aver scelto un percorso di blocco opzionale, i blocchi di altri percorsi diventano elementi distraenti
  • Fornisce una nuova prospettiva sulla ricerca degli elementi distraenti

Conclusioni e Discussione

Conclusioni Principali

  1. Fattibilità Tecnica: L'algoritmo di collasso del multigrafo risolve con successo il problema della rappresentazione e della valutazione dei blocchi opzionali
  2. Valore Educativo: I problemi di ordinamento dei blocchi che supportano molteplici soluzioni riflettono meglio i processi di risoluzione dei problemi nel mondo reale
  3. Applicabilità Diffusa: Il metodo ha valore applicativo in molteplici domini inclusi programmazione, matematica e gestione dei sistemi

Limitazioni

  1. Crescita della Complessità: Il numero di DAG cresce esponenzialmente con le scelte di colore, il che potrebbe teoricamente limitare l'uso di alcuni problemi
  2. Progettazione dell'Interfaccia: Un gran numero di blocchi potrebbe aumentare il carico cognitivo, richiedendo una migliore progettazione dell'interfaccia utente
  3. Valutazione Limitata: Mancanza di valutazioni su larga scala degli effetti sull'apprendimento

Direzioni Future

  1. Ricerca sugli Effetti di Apprendimento: Valutare l'impatto specifico delle soluzioni multi-soluzione sull'apprendimento degli studenti
  2. Ottimizzazione dell'Interfaccia: Sviluppare interfacce utente che riducono il carico cognitivo
  3. Ricerca sull'Equità: Valutare in ambienti d'esame se le soluzioni multi-soluzione possono ridurre i vantaggi ingiusti derivanti dall'allineamento delle preconcezioni

Valutazione Approfondita

Punti di Forza

  1. Innovazione Tecnica: L'algoritmo di collasso da multigrafo a DAG è elegantemente progettato con solide basi teoriche
  2. Valore Pratico: Risolve esigenze reali nella tecnologia educativa, già applicato in molteplici corsi
  3. Completezza del Sistema: Forma un ciclo completo dalla progettazione dell'algoritmo all'implementazione del sistema all'applicazione didattica
  4. Applicabilità Interdisciplinare: Dimostra valore applicativo in molteplici domini inclusi programmazione, matematica e gestione dei sistemi

Insufficienze

  1. Profondità della Valutazione: Si basa principalmente su prove aneddotiche, mancando di rigorosi esperimenti comparativi sugli effetti di apprendimento
  2. Analisi Teorica: Sebbene fornisca analisi di complessità, la discussione sulla teoria dell'apprendimento è relativamente debole
  3. Esperienza Utente: La discussione su come progettare migliori interfacce utente per gestire problemi complessi non è sufficientemente approfondita

Impatto

  1. Contributo Tecnico: Fornisce un metodo generico al campo della tecnologia educativa per gestire soluzioni multi-soluzione
  2. Pratica Educativa: Cambia il paradigma di progettazione tradizionale dei problemi di ordinamento dei blocchi
  3. Ispirazione per la Ricerca: Fornisce nuove prospettive sulla teoria degli esempi elaborati e sulla ricerca degli elementi distraenti

Scenari di Applicazione

  1. Educazione alla Programmazione: Adatto per scenari che mostrano molteplici paradigmi di programmazione e soluzioni
  2. Insegnamento della Matematica: Particolarmente adatto per l'insegnamento di teoremi con molteplici metodi di prova
  3. Formazione Professionale: Adatto per la formazione di competenze come amministrazione dei sistemi e uso di strumenti con molteplici percorsi operativi

Bibliografia

Questo articolo cita letteratura importante nel campo della tecnologia educativa, incluso:

  • Ricerca originale sui problemi di Parsons 14
  • Lavoro fondamentale su Proof Blocks 16,17
  • Ricerca correlata su apprendimento adattivo e teoria degli esempi elaborati 1,6,8
  • Ricerca empirica sugli effetti degli elementi distraenti 9,10,19

Valutazione Complessiva: Questo è un articolo con importanti contributi nel campo della tecnologia educativa, che propone un elegante algoritmo di collasso del multigrafo per risolvere il problema del supporto dei blocchi opzionali nei problemi di ordinamento dei blocchi. Sebbene vi sia spazio per miglioramenti nella valutazione empirica degli effetti di apprendimento, la sua innovazione tecnica e il suo valore pratico lo rendono un importante progresso in questo campo.