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

Elige Tu Propia Solución: Soporte de Bloques Opcionales en Problemas de Ordenamiento de Bloques

Información Básica

  • ID del Artículo: 2510.11999
  • Título: Choose Your Own Solution: Supporting Optional Blocks in Block Ordering Problems
  • Autores: Skyler Oakeson (Utah State University), David H. Smith IV (Virginia Tech), Jaxton Winder (Utah State University), Seth Poulsen (Utah State University)
  • Clasificación: cs.HC (Interacción Humano-Computadora)
  • Fecha de Publicación/Conferencia: Junio de 2018 (Acrónimo de Conferencia 'XX)
  • Enlace del Artículo: https://arxiv.org/abs/2510.11999

Resumen

Este artículo extiende la funcionalidad de los problemas de ordenamiento de bloques (como problemas de Parsons y Proof Blocks) mediante la introducción de características de bloques opcionales. Los autores detallan los algoritmos para implementar la funcionalidad de bloques opcionales y presentan experiencias de uso por parte de docentes al integrarla en cursos. La funcionalidad de bloques opcionales permite a los docentes crear problemas de Parsons más complejos que soporten múltiples soluciones correctas utilizando bloques omitidos u opcionales. Esto proporciona a los estudiantes una forma de abordar múltiples soluciones válidas compuestas por diferentes componentes de respuesta. Los docentes pueden especificar bloques con múltiples dependencias mutuamente excluyentes, representadas mediante estructuras multigráficas. Posteriormente, esta multigráfica se colapsa en múltiples grafos acíclicos dirigidos (DAGs), permitiendo la reutilización de algoritmos de puntuación existentes basados en DAG para problemas de ordenamiento de bloques.

Contexto de Investigación y Motivación

Definición del Problema

Los problemas tradicionales de ordenamiento de bloques (como problemas de Parsons y Proof Blocks) presentan una limitación crítica: no pueden incluir bloques opcionales o bloques que sean válidos en una solución pero no en otra. Los sistemas existentes requieren que cada solución correcta contenga un conjunto fijo de bloques, lo que limita la capacidad de los docentes para crear problemas complejos que reflejen procesos de resolución de problemas del mundo real.

Importancia

  1. Reflejo del Mundo Real: En la práctica, la programación, pruebas matemáticas y comandos de shell, entre otros, típicamente tienen múltiples soluciones equivalentes
  2. Valor Educativo: Permitir que los estudiantes comprendan que los problemas pueden tener múltiples respuestas igualmente válidas es un objetivo de aprendizaje importante
  3. Necesidad de Flexibilidad: Los docentes necesitan poder crear problemas de enseñanza más complejos y cercanos a aplicaciones prácticas

Limitaciones de Métodos Existentes

  • El trabajo de Poulsen et al., aunque soporta múltiples ordenamientos del mismo conjunto de bloques, no soporta múltiples soluciones con diferentes combinaciones de bloques
  • La retroalimentación basada en ejecución, aunque puede manejar problemas con múltiples soluciones, carece de la especificidad y aplicabilidad de la retroalimentación basada en líneas
  • No puede utilizarse en escenarios no ejecutables como pruebas matemáticas

Contribuciones Principales

  1. Algoritmo de Colapso de Multigráficas: Propone un algoritmo que colapsa relaciones de dependencia representadas en multigráficas en múltiples grafos acíclicos dirigidos
  2. Interfaz de Bloques Opcionales: Proporciona una interfaz y especificación para que los docentes escriban problemas de ordenamiento de bloques opcionales
  3. Casos de Aplicación Transversal: Demuestra aplicaciones en programación introductoria, matemática discreta y enseñanza de comandos de shell
  4. Análisis de Complejidad Algorítmica: Proporciona análisis teórico de complejidad temporal del algoritmo y datos de aplicación práctica

Explicación Detallada del Método

Definición de la Tarea

Entrada: Representación en multigráfica de un problema de ordenamiento de bloques con relaciones de dependencia opcionales Salida: Todas las representaciones válidas posibles en DAG, utilizadas para calificar las soluciones presentadas por estudiantes Restricciones: Mantener la naturaleza acíclica del problema, soportar rutas de dependencia mutuamente excluyentes

Arquitectura del Algoritmo Principal

1. Representación en Multigráfica

Se utiliza una multigráfica con aristas coloreadas para representar relaciones de dependencia opcionales:

  • Los nodos representan bloques de código o pasos de prueba
  • Las aristas coloreadas representan rutas alternativas de dependencia lógica
  • El operador de tubería (|) en la especificación HTML representa dependencias mutuamente excluyentes

2. Algoritmo de Colapso de Multigráficas (Algoritmo 1)

Función Colapsar(M, F):
    GrafosColapsados (CD) ← lista vacía
    GrafosParcialmeteColapsados (PCGs) ← cola vacía
    Encolar(PCGs, M)
    
    mientras PCG no esté vacía:
        G ← Desencolar(PCGs)
        (v, DAG) ← DFSHasta(G, F)
        
        si v es NULL:
            añadir DAG a CD
        si no:
            para cada Color en G:
                PCG ← copiar(G)
                Eliminar todas las aristas en v con color ≠ Color
                Encolar(PCGs, PCG)
    
    retornar CD

3. Algoritmo DFS-Hasta (Algoritmo 2)

Búsqueda en profundidad modificada con condiciones de parada:

  • Recorrido inverso comenzando desde el nodo final
  • Se detiene al encontrar aristas multicolores y retorna el nodo que necesita procesamiento
  • Retorna un DAG válido al completar el recorrido

Puntos de Innovación Técnica

  1. Conversión de Multigráfica a DAG: Uso innovador de aristas coloreadas para representar dependencias mutuamente excluyentes, seguido de generación sistemática de todas las combinaciones posibles de DAG
  2. Optimización de Complejidad Algorítmica:
    • Complejidad temporal: O(d·(n+m)), donde d es la cantidad de DAGs generados
    • En aplicaciones prácticas d es pequeño (≤8), garantizando practicidad
  3. Compatibilidad Hacia Atrás: Reutiliza algoritmos de puntuación existentes basados en DAG, sin necesidad de rediseñar el mecanismo de puntuación

Configuración Experimental

Pruebas en Dominios de Aplicación

El artículo realizó pruebas en tres dominios principales:

  1. Matemática Discreta: Múltiples métodos de construcción de pruebas matemáticas
  2. Programación Introductoria: Diferentes formas de implementar funciones Python
  3. Comandos de Shell: Flujos de trabajo Git y secuencias de comandos Unix

Datos de Análisis de Complejidad

Los autores recopilaron datos de complejidad de 12 problemas reales:

Tipo de ContenidoNúmero de Bloques (n)Número de Aristas (m)Número de DAGs (d)
Comandos Bash5-134-102-4
Programación Python6-138-132-8
Pruebas Matemáticas10-1110-132

Experiencia de Uso por Docentes

  • El segundo autor utilizó en un curso grande de programación introductoria, incluyendo tareas y exámenes
  • El tercer autor evaluó conocimientos de shell y Git en un curso de fundamentos de ingeniería de software
  • Soporta presentación paralela de paradigmas de programación iterativa versus funcional

Resultados Experimentales

Hallazgos Principales

  1. Validación de Practicidad: Todos los problemas creados en la práctica se mantuvieron dentro de un rango de complejidad razonable (d≤8)
  2. Efectividad Educativa:
    • Los estudiantes pueden explorar múltiples rutas de solución
    • Proporciona una experiencia de aprendizaje más rica que soluciones únicas
    • Muestra buen poder discriminativo en la enseñanza de flujos de trabajo Git
  3. Rendimiento del Sistema:
    • El algoritmo funciona bien en aplicaciones prácticas
    • Se integró exitosamente en la plataforma PrairieLearn
    • Mantiene las ventajas de los algoritmos de puntuación DAG existentes

Análisis de Casos de Aplicación

Ejemplo de Programación

El problema de función de suma demuestra 4 soluciones válidas:

  • Método detallado: declarar variable, acumular paso a paso
  • Método conciso: asignación directa de expresión
  • Método híbrido: variantes que combinan ambos enfoques

Ejemplo de Prueba Matemática

La prueba de propiedad de números pares soporta dos métodos:

  • Prueba directa: asumir n es par, probar que n+10 es par
  • Prueba por contradicción: asumir n+10 es impar, derivar contradicción

Trabajo Relacionado

Investigación sobre Problemas de Parsons

  • Dale Parsons y Patricia Haden introdujeron originalmente el concepto de rompecabezas de programación
  • Ericson et al. demostraron que los problemas de Parsons son tan efectivos como ejercicios de programación tradicionales pero más eficientes
  • Los problemas de Parsons adaptativos permiten a los estudiantes ajustar la dificultad según su nivel de habilidad

Extensiones de Proof Blocks

  • Poulsen et al. extendieron el ordenamiento de bloques al dominio de pruebas matemáticas
  • Introdujeron la representación en DAG para manejar múltiples ordenamientos correctos
  • Desarrollaron mecanismos de crédito parcial basados en distancia de edición

Investigación sobre Distractores

  • Los distractores tradicionales son bloques de código incorrectos
  • Este artículo redefine: después de elegir una ruta de bloque opcional, los bloques de otras rutas se convierten en distractores
  • Proporciona una nueva perspectiva para la investigación de distractores

Conclusiones y Discusión

Conclusiones Principales

  1. Viabilidad Técnica: El algoritmo de colapso de multigráficas resuelve exitosamente el problema de representación y puntuación de bloques opcionales
  2. Valor Educativo: Los problemas de ordenamiento de bloques que soportan múltiples soluciones reflejan mejor los procesos de resolución de problemas del mundo real
  3. Aplicabilidad Amplia: El método tiene valor de aplicación en múltiples dominios incluyendo programación, matemáticas y administración de sistemas

Limitaciones

  1. Crecimiento de Complejidad: La cantidad de DAGs crece exponencialmente con las opciones de color, lo que teóricamente podría limitar el uso de ciertos problemas
  2. Diseño de Interfaz: Una gran cantidad de bloques podría aumentar la carga cognitiva, requiriendo diseños de interfaz de usuario mejorados
  3. Evaluación Limitada: Falta investigación de evaluación de efectividad de aprendizaje a gran escala

Direcciones Futuras

  1. Investigación de Efectividad de Aprendizaje: Evaluar el impacto específico de múltiples soluciones en el aprendizaje de estudiantes
  2. Optimización de Interfaz: Desarrollar interfaces de usuario que reduzcan la carga cognitiva
  3. Investigación de Equidad: Evaluar en entornos de examen si múltiples soluciones pueden reducir ventajas injustas derivadas de coincidencias de preconcepto

Evaluación Profunda

Fortalezas

  1. Innovación Técnica: El diseño del algoritmo de colapso de multigráfica a DAG es ingenioso con fundamentos teóricos sólidos
  2. Valor Práctico: Resuelve necesidades reales en tecnología educativa, ya aplicado en múltiples cursos
  3. Integridad del Sistema: Forma un ciclo completo desde diseño algorítmico hasta implementación del sistema e implementación educativa
  4. Aplicabilidad Transversal: Demuestra valor de aplicación en múltiples dominios incluyendo programación, matemáticas y administración de sistemas

Insuficiencias

  1. Profundidad de Evaluación: Depende principalmente de evidencia anecdótica, carece de experimentos rigurosos de comparación de efectividad de aprendizaje
  2. Análisis Teórico: Aunque proporciona análisis de complejidad, la discusión sobre teoría de aprendizaje es relativamente débil
  3. Experiencia del Usuario: La discusión sobre cómo diseñar mejores interfaces de usuario para manejar problemas complejos no es suficientemente profunda

Impacto

  1. Contribución Técnica: Proporciona un método general para la tecnología educativa para manejar problemas con múltiples soluciones
  2. Práctica Educativa: Cambia el enfoque de diseño de problemas tradicionales de ordenamiento de bloques
  3. Inspiración para Investigación: Proporciona nuevas perspectivas para la teoría de ejemplos trabajados e investigación de distractores

Escenarios de Aplicación

  1. Educación en Programación: Apropiado para escenarios que demuestran múltiples paradigmas de programación y soluciones
  2. Enseñanza de Matemáticas: Particularmente apropiado para enseñanza de teoremas con múltiples métodos de prueba
  3. Capacitación en Habilidades: Apropiado para capacitación en administración de sistemas, uso de herramientas y otros escenarios con múltiples rutas operacionales

Referencias

Este artículo cita literatura importante en el campo de la tecnología educativa, incluyendo:

  • Investigación original sobre problemas de Parsons 14
  • Trabajo fundamental sobre Proof Blocks 16,17
  • Investigación relacionada con aprendizaje adaptativo y teoría de ejemplos trabajados 1,6,8
  • Investigación empírica sobre efectos de distractores 9,10,19

Evaluación General: Este es un artículo con contribuciones importantes en el campo de la tecnología educativa. El algoritmo de colapso de multigráficas propuesto resuelve elegantemente el problema de soporte de bloques opcionales en problemas de ordenamiento de bloques. Aunque hay espacio para mejorar en la evaluación empírica de efectividad de aprendizaje, su innovación técnica y valor práctico lo convierten en un progreso importante en el campo.