workspace/projects/gamilit/docs/00-vision-general/GUIA-PRUEBAS-MODULO1-Respuestas-Ejemplo.md
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- Configure workspace Git repository with comprehensive .gitignore
- Add Odoo as submodule for ERP reference code
- Include documentation: SETUP.md, GIT-STRUCTURE.md
- Add gitignore templates for projects (backend, frontend, database)
- Structure supports independent repos per project/subproject level

Workspace includes:
- core/ - Reusable patterns, modules, orchestration system
- projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.)
- knowledge-base/ - Reference code and patterns (includes Odoo submodule)
- devtools/ - Development tools and templates
- customers/ - Client implementations template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:44:23 -06:00

47 KiB
Raw Blame History

GUÍA DE PRUEBAS - MÓDULO 1: COMPRENSIÓN LITERAL

Ejemplos de Respuestas para Testing QA

Fecha: 2025-11-23 Versión: 1.0 Módulo: MOD-01-LITERAL - Comprensión Literal Autor: Architecture-Analyst Fuente: apps/database/seeds/prod/educational_content/02-exercises-module1.sql


📋 ÍNDICE

  1. Ejercicio 1.1: Crucigrama Científico
  2. Ejercicio 1.2: Línea de Tiempo
  3. Ejercicio 1.3: Completar Espacios en Blanco
  4. Ejercicio 1.4: Verdadero o Falso
  5. Ejercicio 1.5: Sopa de Letras (BONUS)
  6. Casos de Uso

🎯 PROPÓSITO DE ESTA GUÍA

Esta guía proporciona ejemplos detallados de respuestas para cada ejercicio del Módulo 1, clasificadas en tres niveles de calidad:

  • EXCELENTE (80-100 puntos): Respuestas completas, precisas y que demuestran comprensión profunda
  • ⚠️ ACEPTABLE (50-79 puntos): Respuestas parcialmente correctas con algunos errores menores
  • INCORRECTA (0-49 puntos): Respuestas con errores significativos o información incorrecta

Audiencia: QA testers, desarrolladores frontend/backend, diseñadores pedagógicos, demos


EJERCICIO 1.1: CRUCIGRAMA CIENTÍFICO

Tipo: crucigrama Dificultad: Beginner Tiempo estimado: 15 minutos Puntos máximos: 100 Puntos de aprobación: 70

📊 Configuración del Ejercicio

{
  "gridSize": {"rows": 15, "cols": 15},
  "autoCheck": true,
  "showProgress": true,
  "caseSensitive": false,
  "allowSpaces": false
}

🎯 Claves del Crucigrama

Pistas Horizontales

# Pista Respuesta Longitud Inicio
1 Universidad donde estudió SORBONA 7 (4,3)
2 Premio recibido en 1903 y 1911 NOBEL 5 (6,3)
3 Fenómeno de emisión espontánea de radiación RADIOACTIVIDAD 14 (8,1)

Pistas Verticales

# Pista Respuesta Longitud Inicio
4 Elemento químico nombrado en honor a Polonia POLONIO 7 (3,4)
5 Elemento químico radiactivo descubierto RADIO 5 (8,1)
6 Apellido de Marie CURIE 5 (8,7)

RESPUESTA EXCELENTE (95-100 puntos)

Crucigrama completado correctamente:

  • ✓ Todas las palabras correctas
  • ✓ Ortografía perfecta (sin acentos, mayúsculas)
  • ✓ Todas las intersecciones coinciden
  • ✓ Completado en tiempo razonable (< 15 minutos)

Ejemplo de respuesta:

Horizontal 1: SORBONA
Horizontal 2: NOBEL
Horizontal 3: RADIOACTIVIDAD
Vertical 4: POLONIO
Vertical 5: RADIO
Vertical 6: CURIE

Scoring:

  • 6/6 palabras correctas = 100 puntos
  • Sin uso de comodines = +0 bonificación
  • Tiempo < 10 min = +0 bonificación (no implementado)

Feedback del sistema:

"¡Excelente! Has completado el crucigrama correctamente. Demuestra comprensión sólida del vocabulario científico relacionado con Marie Curie. ✓ 100/100 puntos."


⚠️ RESPUESTA ACEPTABLE (65-79 puntos)

Crucigrama con 1-2 errores menores:

  • ✓ 4-5 palabras correctas
  • ✗ 1-2 palabras incorrectas o faltantes
  • ⚠️ Puede haber usado 1 comodín

Ejemplo de respuesta parcial:

Horizontal 1: SORBONA ✓
Horizontal 2: NOVEL ✗ (error de ortografía)
Horizontal 3: RADIOACTIVIDAD ✓
Vertical 4: POLONIO ✓
Vertical 5: RADIO ✓
Vertical 6: (vacío) ✗

Errores comunes:

  • "NOVEL" en lugar de "NOBEL" (error de ortografía)
  • "POLONIA" en lugar de "POLONIO" (confusión entre país y elemento)
  • Dejar espacios en blanco por no usar el texto de referencia
  • Escribir con acentos: "RADIACIÓN" en lugar de "RADIACION"

Scoring:

  • 4/6 palabras correctas = 67 puntos
  • Uso de 1 comodín "Pista" (-15 ML Coins)
  • Penalización por errores de ortografía: -10 puntos

Feedback del sistema:

"Buen intento. Algunas respuestas necesitan corrección. Revisa la ortografía del Premio que Marie ganó dos veces. ⚠️ 67/100 puntos."


RESPUESTA INCORRECTA (0-49 puntos)

Crucigrama con múltiples errores:

  • ✗ 0-3 palabras correctas
  • ✗ Múltiples errores de ortografía
  • ✗ Palabras que no coinciden con las pistas
  • ⚠️ Puede haber intentado adivinar sin consultar texto

Ejemplo de respuesta con errores:

Horizontal 1: PARIS ✗ (confusión: estudió en París, pero universidad era Sorbona)
Horizontal 2: PREMIOS ✗ (demasiadas letras, no coincide)
Horizontal 3: RADIACION ✗ (5 letras faltantes)
Vertical 4: POLONIA ✗ (país, no elemento químico)
Vertical 5: (vacío) ✗
Vertical 6: MARIE ✗ (nombre, no apellido)

Errores críticos:

  • Confusión entre datos relacionados (París vs. Sorbona, Polonia vs. Polonio)
  • No verificar longitud de palabras (PREMIOS tiene 7 letras, necesita 5)
  • No usar intersecciones para validar (si "MARIE" cruza con "NOBEL", la "I" no coincide)
  • Dejar múltiples espacios vacíos

Scoring:

  • 0/6 palabras correctas = 0 puntos
  • Uso de 2 comodines "Pista" (-30 ML Coins)
  • Múltiples intentos fallidos: -0 puntos (primeros 3 intentos sin penalización)

Feedback del sistema:

"Necesitas revisar el texto base más cuidadosamente. Recuerda: todas las respuestas están explícitamente mencionadas en la biografía de Marie Curie. Intenta usar las pistas disponibles. 0/100 puntos. Te quedan 2 intentos."


🔑 Keywords para Validación Automática

El validador backend verifica:

  • Exactitud de cada palabra (case-insensitive)
  • Longitud correcta
  • Posición en grid correcta
  • Intersecciones válidas (letras coincidentes)
// Ejemplo de validación
const correctAnswers = {
  "h1": "SORBONA",
  "h2": "NOBEL",
  "h3": "RADIOACTIVIDAD",
  "v1": "POLONIO",
  "v2": "RADIO",
  "v3": "CURIE"
};

EJERCICIO 1.2: LÍNEA DE TIEMPO

Tipo: linea_tiempo Dificultad: Beginner Tiempo estimado: 12 minutos Puntos máximos: 100 Puntos de aprobación: 70

📊 Configuración del Ejercicio

{
  "allowReordering": true,
  "showYears": true,
  "visualStyle": "horizontal",
  "dragAndDrop": true,
  "showFeedback": "immediate"
}

🎯 Eventos a Ordenar

ID Año Evento Categoría
event-1 1867 Nace Maria Sklodowska en Varsovia, Polonia Personal
event-2 1891 Se traslada a París para estudiar en la Sorbona Educación
event-3 1895 Se casa con Pierre Curie Personal
event-4 1898 Descubre el polonio y el radio Descubrimiento
event-5 1903 Recibe su primer Premio Nobel de Física Reconocimiento
event-6 1911 Recibe su segundo Premio Nobel, en Química Reconocimiento
event-7 1934 Fallece debido a anemia aplásica Personal

RESPUESTA EXCELENTE (100 puntos)

Orden cronológico perfecto:

[event-1] → [event-2] → [event-3] → [event-4] → [event-5] → [event-6] → [event-7]
  1867        1891        1895        1898        1903        1911        1934

Nacimiento → París → Matrimonio → Descubrimientos → Nobel Física → Nobel Química → Fallece

Justificación del orden:

  1. 1867: Nacimiento (punto de inicio lógico)
  2. 1891: Traslado a París (24 años - juventud)
  3. 1895: Matrimonio con Pierre (28 años - vida personal)
  4. 1898: Descubrimientos del polonio y radio (3 años después del matrimonio)
  5. 1903: Primer Nobel de Física (por descubrimientos de 1898)
  6. 1911: Segundo Nobel de Química (8 años después del primero, 5 años después de muerte de Pierre)
  7. 1934: Fallecimiento (67 años - fin de vida)

Scoring:

  • 7/7 eventos en orden correcto = 100 puntos
  • Primer intento = +0 bonificación
  • Sin uso de comodines = +0 bonificación

Feedback del sistema:

"¡Perfecto! Has ordenado todos los eventos cronológicamente. Demuestras excelente comprensión de la secuencia temporal de la vida de Marie Curie. ✓ 100/100 puntos."


⚠️ RESPUESTA ACEPTABLE (65-79 puntos)

Orden con 1-2 inversiones menores:

[event-1] → [event-2] → [event-4] → [event-3] → [event-5] → [event-6] → [event-7]
  1867        1891        1898        1895        1903        1911        1934
                          ↑____________↑
                          (inversión: 1895 y 1898 intercambiados)

Errores comunes:

  • Inversión 1895 ↔ 1898: Confundir matrimonio (1895) con descubrimientos (1898)
  • Inversión 1903 ↔ 1911: Confundir orden de los dos premios Nobel
  • No recordar que el matrimonio (1895) precedió los descubrimientos (1898)

Justificación parcialmente correcta:

  • Inicio y fin correctos (nacimiento 1867, muerte 1934)
  • Mayoría de eventos en posición correcta
  • Solo 1-2 eventos adyacentes intercambiados

Scoring:

  • 5/7 eventos correctos = 71 puntos
  • Segundo intento (tras feedback) = -0 penalización (primeros 3 intentos sin penalización)
  • Uso de 1 pista (-15 ML Coins)

Feedback del sistema (tras primer intento):

"Casi perfecto. Los descubrimientos del polonio y radio ocurrieron DESPUÉS del matrimonio con Pierre. El matrimonio fue en 1895, los descubrimientos en 1898. ⚠️ 71/100 puntos. Intenta de nuevo."


RESPUESTA INCORRECTA (0-49 puntos)

Orden con múltiples errores:

[event-7] → [event-1] → [event-5] → [event-2] → [event-6] → [event-3] → [event-4]
  1934        1867        1903        1891        1911        1895        1898
  ↑ (error crítico: muerte primero)

Errores críticos:

  • Muerte al principio: Ordenar fallecimiento (1934) antes del nacimiento (1867)
  • Premios Nobel antes de estudios: Ganar Nobel antes de estudiar en París
  • Descubrimientos antes de formación: Descubrir elementos antes de educación formal
  • Orden aleatorio: No seguir ninguna lógica temporal

Problemas de comprensión:

  • No entender la cronología básica de una biografía (nacimiento → formación → logros → muerte)
  • Ignorar las fechas explícitas en las tarjetas
  • No usar el contexto lógico (estudios antes de descubrimientos, descubrimientos antes de premios)

Scoring:

  • 1/7 eventos correctos = 14 puntos
  • Tercer intento fallido = fin del ejercicio
  • Múltiples comodines usados (-45 ML Coins total)

Feedback del sistema:

"El orden cronológico no es correcto. Recuerda: la historia de una persona sigue una secuencia lógica: nacimiento → estudios → trabajo → logros → muerte. Usa las fechas como guía. 14/100 puntos. Te queda 1 intento."

Sugerencia pedagógica:

"Tip: Ordena primero los eventos extremos (nacimiento 1867 y muerte 1934), luego completa el medio."


🔑 Keywords para Validación Automática

const correctOrder = ["event-1", "event-2", "event-3", "event-4", "event-5", "event-6", "event-7"];
const yearSequence = [1867, 1891, 1895, 1898, 1903, 1911, 1934];

// Validación
function validateTimeline(userOrder) {
  let correctCount = 0;
  for (let i = 0; i < userOrder.length; i++) {
    if (userOrder[i] === correctOrder[i]) {
      correctCount++;
    }
  }
  return (correctCount / correctOrder.length) * 100;
}

EJERCICIO 1.3: COMPLETAR ESPACIOS EN BLANCO

Tipo: completar_espacios Dificultad: Beginner Tiempo estimado: 10 minutos Puntos máximos: 100 Puntos de aprobación: 60

📊 Configuración del Ejercicio

{
  "blankCount": 6,
  "allowMultipleAttempts": true,
  "showWordBank": true,
  "caseSensitive": false
}

🎯 Texto con Espacios en Blanco

Texto completo:

"Marie Sklodowska nació en , Polonia. Su padre era profesor de matemáticas y física, mientras que su madre dirigía una escuela prestigiosa. La familia valoraba mucho la y Marie mostró desde pequeña gran curiosidad por las y ."

Banco de palabras: Varsovia, Władysław, Bronisława, educación, ciencias, Polonia, matemáticas, física

RESPUESTA EXCELENTE (100 puntos)

Todos los espacios completados correctamente:

  1. Varsovia ✓ (ciudad natal)
  2. Władysław ✓ (nombre del padre)
  3. Bronisława ✓ (nombre de la madre)
  4. educación ✓ (valor familiar)
  5. ciencias / matemáticas / física ✓ (cualquiera de las 3 válida)
  6. ciencias / matemáticas / física ✓ (cualquiera de las 3 válida, DIFERENTE a espacio 5)

🔄 ACTUALIZACIÓN 2025-11-23: Los espacios 5 y 6 ahora aceptan cualquiera de las 3 opciones (ciencias, matemáticas, física) con la restricción de que NO pueden ser la misma palabra. Esta corrección refleja la simetría lógica del ejercicio.

Combinaciones válidas para espacios 5 y 6 (6 combinaciones):

Espacio 5 Espacio 6 Validez Ejemplo completo
ciencias matemáticas VÁLIDO "...curiosidad por las ciencias y matemáticas."
ciencias física VÁLIDO "...curiosidad por las ciencias y física."
matemáticas ciencias VÁLIDO "...curiosidad por las matemáticas y ciencias."
matemáticas física VÁLIDO "...curiosidad por las matemáticas y física."
física ciencias VÁLIDO "...curiosidad por las física y ciencias."
física matemáticas VÁLIDO "...curiosidad por las física y matemáticas."

Combinaciones inválidas (redundancias - 3 combinaciones):

Espacio 5 Espacio 6 Validez Razón
ciencias ciencias INVÁLIDO Redundancia - no puede repetirse
matemáticas matemáticas INVÁLIDO Redundancia - no puede repetirse
física física INVÁLIDO Redundancia - no puede repetirse

Justificación:

  • Espacio ①: Contexto "nació en ___, Polonia" → ciudad polaca = Varsovia
  • Espacio ②: "su padre ___" → nombre propio masculino polaco = Władysław
  • Espacio ③: "su madre ___" → nombre propio femenino polaco = Bronisława
  • Espacio ④: "valoraba la ___" → concepto abstracto = educación
  • Espacio ⑤: "curiosidad por las ___" → CUALQUIERA de: ciencias, matemáticas, física
  • Espacio ⑥: "curiosidad por las ___" → CUALQUIERA de: ciencias, matemáticas, física (DIFERENTE a espacio 5)

Justificación pedagógica de la simetría:

  • Marie Curie estudió matemáticas Y física en la Sorbona ✓
  • Su padre le enseñaba matemáticas Y física
  • Mostró curiosidad por las ciencias (término general que incluye ambas) ✓
  • Todas las opciones están históricamente documentadas
  • Lógicamente, cualquier par de estas palabras es correcto siempre que NO se repitan

Scoring:

  • 6/6 espacios correctos con cualquier combinación válida = 100 puntos
  • Sin uso de comodines = +0 bonificación
  • Primer intento = +0 bonificación

Feedback del sistema:

"¡Excelente! Has completado todos los espacios correctamente. Demuestras comprensión precisa de los datos biográficos de Marie Curie. ✓ 100/100 puntos."


⚠️ RESPUESTA ACEPTABLE (55-75 puntos)

4-5 espacios correctos, 1-2 errores:

  1. Varsovia
  2. Władysław
  3. Bronisława
  4. Polonia ✗ (error: usó país en lugar de concepto abstracto)
  5. ciencias
  6. física

Texto resultante con error:

"Marie Sklodowska nació en Varsovia, Polonia. Su padre Władysław era profesor de matemáticas y física, mientras que su madre Bronisława dirigía una escuela prestigiosa. La familia valoraba mucho la Polonia y Marie mostró desde pequeña gran curiosidad por las ciencias y física."

⚠️ Error semántico: "valoraba mucho la Polonia" no tiene sentido lógico

Errores comunes:

  • Espacio ④: Confundir "educación" con "Polonia" (no considerar contexto semántico)
  • Espacio ⑥: Dejar vacío si ya usó "matemáticas" antes
  • Espacios ②/③: Confundir nombres del padre y madre (intercambiarlos)

Scoring:

  • 5/6 espacios correctos = 83 puntos
  • 1 error semántico = -10 puntos
  • Total: 73 puntos

Feedback del sistema:

"Muy bien, pero hay un error. 'La familia valoraba mucho la Polonia' no es coherente. Piensa en un valor abstracto relacionado con aprendizaje. ⚠️ 73/100 puntos."


RESPUESTA INCORRECTA (0-49 puntos)

Escenario 1: Múltiples errores gramaticales

0-3 espacios correctos, múltiples errores:

  1. Polonia ✗ (ya está en el texto "Varsovia, Polonia")
  2. ciencias ✗ (nombre propio esperado, no concepto)
  3. física ✗ (nombre propio femenino esperado)
  4. Varsovia ✗ (ciudad, no concepto abstracto)
  5. educación ✗ (concepto abstracto, no campo académico)
  6. (vacío) ✗ (no completado)

Texto resultante con múltiples errores:

"Marie Sklodowska nació en Polonia, Polonia. Su padre ciencias era profesor de matemáticas y física, mientras que su madre física dirigía una escuela prestigiosa. La familia valoraba mucho la Varsovia y Marie mostró desde pequeña gran curiosidad por las educación y ___."

Múltiples errores gramaticales y semánticos

Problemas críticos:

  • No considerar contexto gramatical ("su padre ciencias" es incoherente)
  • Repetir palabras ya en el texto ("Polonia, Polonia")
  • Ignorar género de nombres propios (padre = masculino, madre = femenino)
  • No completar todos los espacios

Scoring:

  • 0/6 espacios correctos = 0 puntos
  • Múltiples errores de coherencia = penalización aplicada
  • Segundo intento disponible

Feedback del sistema:

"Necesitas revisar el contexto de cada espacio. Observa las pistas gramaticales: 'su padre ___' espera un nombre propio masculino, 'su madre ___' espera un nombre femenino. 0/100 puntos. Te quedan 2 intentos."


Escenario 2: Error de redundancia en espacios 5 y 6 (NUEVO 2025-11-23)

5/6 espacios correctos, pero redundancia:

  1. Varsovia
  2. Władysław
  3. Bronisława
  4. educación
  5. matemáticas
  6. matemáticas ✗ (REDUNDANCIA - no puede repetir espacio 5)

Texto resultante con redundancia:

"Marie Sklodowska nació en Varsovia, Polonia. Su padre Władysław era profesor de matemáticas y física, mientras que su madre Bronisława dirigía una escuela prestigiosa. La familia valoraba mucho la educación y Marie mostró desde pequeña gran curiosidad por las matemáticas y matemáticas."

Error de redundancia en espacios 5 y 6

Problema identificado:

  • Espacios 5 y 6 tienen la misma palabra ("matemáticas")
  • El sistema rechaza redundancias: espacio 5 ≠ espacio 6
  • Aunque "matemáticas" es válida para ambos espacios, NO pueden usarse simultáneamente

Scoring:

  • 5/6 espacios correctos base = 83 puntos
  • Penalización por redundancia = -50 puntos
  • Score final: 33 puntos (REPROBADO)

Feedback del sistema:

"Casi perfecto, pero hay un error: los espacios 5 y 6 no pueden tener la misma palabra. Has puesto 'matemáticas' en ambos. Elige dos palabras DIFERENTES del grupo: ciencias, matemáticas, física. 33/100 puntos. Te quedan 2 intentos."

Correcciones válidas:

  • Cambiar espacio 6 a "física" → "matemáticas + física"
  • Cambiar espacio 6 a "ciencias" → "matemáticas + ciencias"
  • Cambiar espacio 5 a "física" → "física + matemáticas"
  • Cambiar espacio 5 a "ciencias" → "ciencias + matemáticas"

Escenario 3: Otras redundancias posibles

Casos de redundancia también inválidos:

Caso Espacio 5 Espacio 6 Score Feedback
A ciencias ciencias 33 pts "Los espacios 5 y 6 no pueden ser 'ciencias + ciencias'"
B física física 33 pts "Los espacios 5 y 6 no pueden ser 'física + física'"
C matemáticas matemáticas 33 pts "Los espacios 5 y 6 no pueden ser 'matemáticas + matemáticas'"

Sugerencia pedagógica:

"Tip: Clasifica las 8 palabras del banco antes de empezar:\n- Nombres propios masculinos: Władysław\n- Nombres propios femeninos: Bronisława\n- Lugares: Varsovia, Polonia\n- Conceptos: educación, ciencias, matemáticas, física\n\nIMPORTANTE: Para espacios 5 y 6, elige DOS palabras DIFERENTES de: ciencias, matemáticas, física."


🔑 Keywords para Validación Automática

ACTUALIZADO 2025-11-23: Espacios 5 y 6 con simetría completa

const correctAnswers = {
  "1": "Varsovia",
  "2": "Władysław",
  "3": "Bronisława",
  "4": "educación",
  "5": "ciencias",        // Respuesta principal
  "6": "matemáticas"      // Respuesta principal
};

const alternatives = {
  "5": ["ciencias", "matemáticas", "física"],  // Espacio 5 acepta cualquiera de las 3
  "6": ["ciencias", "matemáticas", "física"]   // Espacio 6 acepta cualquiera de las 3
};

// Validación adicional requerida en backend
function validateCompletarEspacios(userAnswers) {
  // Validación básica de cada espacio
  const validationResults = {};

  for (let id in correctAnswers) {
    const userAnswer = userAnswers[id]?.toLowerCase().trim();
    const correctAnswer = correctAnswers[id].toLowerCase();
    const alternativesList = alternatives[id] || [];

    // Verificar si la respuesta es correcta o está en alternativas
    const isCorrect = userAnswer === correctAnswer ||
                      alternativesList.some(alt => alt.toLowerCase() === userAnswer);

    validationResults[id] = isCorrect;
  }

  // Validación especial: espacio 5 ≠ espacio 6 (NO redundancia)
  if (userAnswers["5"] && userAnswers["6"]) {
    const space5 = userAnswers["5"].toLowerCase().trim();
    const space6 = userAnswers["6"].toLowerCase().trim();

    if (space5 === space6) {
      return {
        valid: false,
        score: 33,  // Penalización por redundancia
        error: {
          type: "redundancia",
          message: `Los espacios 5 y 6 no pueden tener la misma palabra. Has puesto '${space5}' en ambos. Elige dos palabras DIFERENTES del grupo: ciencias, matemáticas, física.`,
          espacios: ["5", "6"]
        }
      };
    }
  }

  // Calcular score sin redundancia
  const correctCount = Object.values(validationResults).filter(v => v).length;
  const score = (correctCount / 6) * 100;

  return {
    valid: score >= 60,  // Passing score
    score: score,
    correctCount: correctCount,
    totalCount: 6,
    validationResults: validationResults
  };
}

// Casos de prueba obligatorios (11 casos)
const testCases = {
  // Casos válidos (6 combinaciones)
  valid: [
    { "5": "ciencias", "6": "matemáticas", expectedScore: 100 },
    { "5": "ciencias", "6": "física", expectedScore: 100 },
    { "5": "matemáticas", "6": "ciencias", expectedScore: 100 },
    { "5": "matemáticas", "6": "física", expectedScore: 100 },
    { "5": "física", "6": "ciencias", expectedScore: 100 },
    { "5": "física", "6": "matemáticas", expectedScore: 100 }
  ],
  // Casos inválidos (5 casos)
  invalid: [
    { "5": "ciencias", "6": "ciencias", expectedScore: 33, error: "redundancia" },
    { "5": "matemáticas", "6": "matemáticas", expectedScore: 33, error: "redundancia" },
    { "5": "física", "6": "física", expectedScore: 33, error: "redundancia" },
    { "5": "educación", "6": "matemáticas", expectedScore: 83, error: "espacio_5_incorrecto" },
    { "5": "física", "6": "Polonia", expectedScore: 83, error: "espacio_6_incorrecto" }
  ]
};

Ejemplo de uso en frontend:

// Componente: CompletarEspaciosExercise.tsx
const handleSubmit = (userAnswers: Record<string, string>) => {
  const validation = validateCompletarEspacios(userAnswers);

  if (!validation.valid) {
    if (validation.error?.type === "redundancia") {
      // Mostrar mensaje específico de redundancia
      showError(validation.error.message);
    } else {
      // Mostrar mensaje genérico de respuestas incorrectas
      showError(`${validation.correctCount}/6 espacios correctos. Revisa tus respuestas.`);
    }
  } else {
    showSuccess(`¡Excelente! ${validation.score}/100 puntos.`);
  }
};

EJERCICIO 1.4: VERDADERO O FALSO

Tipo: verdadero_falso Dificultad: Beginner Tiempo estimado: 12 minutos Puntos máximos: 100 Puntos de aprobación: 70

📊 Configuración del Ejercicio

{
  "statementCount": 10,
  "randomizeOrder": false,
  "showExplanations": true
}

🎯 Contexto Histórico

"Durante su infancia en Polonia, Marie era conocida por su insaciable curiosidad científica. Su padre le enseñó los primeros principios de las matemáticas y la física, mientras su madre la inspiró con su dedicación a la educación."

📝 Afirmaciones a Evaluar

ID Afirmación Respuesta Explicación
1 Marie mostró curiosidad excepcional por las ciencias desde muy pequeña VERDADERO Explícitamente mencionado en el contexto
2 Su padre era profesor de química solamente FALSO Era profesor de matemáticas Y física
3 Marie nació en Francia FALSO Nació en Polonia (Varsovia)
4 Su familia valoraba mucho la educación VERDADERO Explícitamente mencionado
5 La madre de Marie dirigía una escuela VERDADERO Mencionado: "dirigía una escuela prestigiosa"
6 Marie Curie ganó su primer Nobel a los 20 años FALSO Lo ganó en 1903 (~36 años)
7 El nombre original de Marie era Maria Sklodowska VERDADERO Nombre de nacimiento confirmado
8 Marie fue la primera mujer en ganar un Premio Nobel VERDADERO Hecho histórico verificable
9 Su padre no apoyaba su interés en las ciencias FALSO Le enseñó matemáticas y física
10 Marie estudió en la Universidad de Varsovia FALSO Estudió en la Sorbona de París

RESPUESTA EXCELENTE (100 puntos)

10/10 afirmaciones correctas:

{
  "1": true,   // ✓ Curiosidad científica (explícito en contexto)
  "2": false,  // ✓ No solo química, también matemáticas y física
  "3": false,  // ✓ Nació en Polonia, no Francia
  "4": true,   // ✓ Familia valoraba educación (explícito)
  "5": true,   // ✓ Madre dirigía escuela (explícito)
  "6": false,  // ✓ Nobel en 1903 (36 años), no 20
  "7": true,   // ✓ Maria Sklodowska es su nombre de nacimiento
  "8": true,   // ✓ Primera mujer con Nobel (hecho histórico)
  "9": false,  // ✓ Padre SÍ apoyaba (le enseñó ciencias)
  "10": false  // ✓ Estudió en Sorbona (París), no Varsovia
}

Justificación por afirmación:

Afirmación 1 (VERDADERO):

  • Evidencia textual: "Marie era conocida por su insaciable curiosidad científica"
  • Confirmación: Uso de "insaciable" indica excepcionalidad

Afirmación 2 (FALSO):

  • Evidencia textual: "Su padre le enseñó los primeros principios de las matemáticas y la física"
  • Error en la afirmación: Dice "solamente química", pero texto menciona matemáticas Y física
  • Palabra clave a detectar: "solamente" (palabra absoluta que requiere verificación estricta)

Afirmación 3 (FALSO):

  • Conocimiento previo del Módulo 1: Marie nació en Varsovia, Polonia
  • Contradicción directa con hechos biográficos conocidos

Afirmación 4 (VERDADERO):

  • Evidencia textual: "La familia valoraba mucho la educación"
  • Confirmación directa en el contexto proporcionado

Afirmación 5 (VERDADERO):

  • Evidencia textual: "su madre la inspiró con su dedicación a la educación"
  • Conocimiento del ejercicio 1.3: "su madre Bronisława dirigía una escuela prestigiosa"

Afirmación 6 (FALSO):

  • Cálculo: Marie nació en 1867, ganó primer Nobel en 1903 → 1903-1867 = 36 años
  • Error en la afirmación: Dice 20 años, realidad es 36 años

Afirmación 7 (VERDADERO):

  • Conocimiento biográfico: Maria Sklodowska fue su nombre de nacimiento polaco
  • Cambió a "Marie Curie" tras casarse con Pierre Curie

Afirmación 8 (VERDADERO):

  • Hecho histórico verificable: Marie fue la primera mujer en ganar Premio Nobel (1903, Física)

Afirmación 9 (FALSO):

  • Evidencia textual: "Su padre le enseñó los primeros principios de las matemáticas y la física"
  • Contradice la afirmación: Si le enseñó, claramente SÍ apoyaba su interés

Afirmación 10 (FALSO):

  • Conocimiento del ejercicio 1.2: Marie se trasladó a París en 1891 para estudiar en la Sorbona
  • No estudió en universidad de Varsovia (Polonia no permitía mujeres en universidades en esa época)

Scoring:

  • 10/10 correctas = 100 puntos
  • Sin uso de pistas = +0 bonificación
  • Primer intento = +0 bonificación

Feedback del sistema:

"¡Perfecto! Has identificado correctamente todas las afirmaciones verdaderas y falsas. Demuestras excelente comprensión de los hechos biográficos explícitos de Marie Curie. ✓ 100/100 puntos."


⚠️ RESPUESTA ACEPTABLE (65-79 puntos)

7-8/10 afirmaciones correctas:

{
  "1": true,   // ✓ Correcto
  "2": true,   // ✗ ERROR: Marcó verdadero cuando es falso
  "3": false,  // ✓ Correcto
  "4": true,   // ✓ Correcto
  "5": true,   // ✓ Correcto
  "6": false,  // ✓ Correcto
  "7": true,   // ✓ Correcto
  "8": true,   // ✓ Correcto
  "9": false,  // ✓ Correcto
  "10": true   // ✗ ERROR: Marcó verdadero cuando es falso
}

Errores comunes:

Error en Afirmación 2:

  • Marcó: VERDADERO
  • Correcto: FALSO
  • Causa: No detectó la palabra "solamente" como palabra absoluta
  • Análisis: El padre enseñaba matemáticas Y física, no SOLO química

Error en Afirmación 10:

  • Marcó: VERDADERO
  • Correcto: FALSO
  • Causa: Confusión entre ciudad de nacimiento (Varsovia) y universidad donde estudió (Sorbona en París)
  • Análisis: Varsovia fue su ciudad natal, pero estudió en París

Scoring:

  • 8/10 correctas = 80 puntos
  • Uso de 1 pista (-15 ML Coins) = -0 puntos en score
  • Total: 80 puntos (pero con -15 ML Coins de economía)

Feedback del sistema (tras segundo intento):

"Muy bien, pero revisa dos afirmaciones. Tip: La afirmación #2 contiene la palabra 'solamente' - verifica si es totalmente precisa. La afirmación #10 sobre Varsovia: ¿fue su universidad o su ciudad natal? ⚠️ 80/100 puntos."


RESPUESTA INCORRECTA (0-49 puntos)

0-6/10 afirmaciones correctas:

{
  "1": false,  // ✗ ERROR (debería ser true)
  "2": true,   // ✗ ERROR (debería ser false)
  "3": true,   // ✗ ERROR (debería ser false)
  "4": false,  // ✗ ERROR (debería ser true)
  "5": true,   // ✓ Correcto por casualidad
  "6": true,   // ✗ ERROR (debería ser false)
  "7": false,  // ✗ ERROR (debería ser true)
  "8": false,  // ✗ ERROR (debería ser true)
  "9": true,   // ✗ ERROR (debería ser false)
  "10": true   // ✗ ERROR (debería ser false)
}

Problemas críticos:

  1. No leyó el contexto: Marcó afirmaciones contradiciendo explícitamente el texto proporcionado
  2. Adivinó aleatoriamente: Patrón inconsistente (no hay lógica en las respuestas)
  3. Confusión de datos básicos:
    • Marcó "nació en Francia" como verdadero (contradice todo el Módulo 1)
    • Marcó "padre no apoyaba" como verdadero (contradice "le enseñó matemáticas y física")
  4. No verificó con conocimiento previo: Ignoró información de ejercicios anteriores del módulo

Scoring:

  • 1/10 correctas = 10 puntos
  • Tercer intento fallido = fin del ejercicio
  • Múltiples pistas usadas (-30 ML Coins)

Feedback del sistema:

"Necesitas leer el contexto histórico más cuidadosamente. Muchas respuestas contradicen información explícita del texto. Ejemplo: El texto dice claramente 'Su padre le enseñó matemáticas y física', entonces la afirmación 'Su padre no apoyaba su interés en las ciencias' es FALSA. 10/100 puntos. Te queda 1 intento."

Sugerencia pedagógica:

"Estrategia recomendada:\n1. Lee el contexto completo ANTES de responder\n2. Para cada afirmación, busca evidencia textual específica\n3. Cuidado con palabras absolutas: 'solamente', 'nunca', 'siempre'\n4. Usa conocimiento previo del Módulo 1 para verificar hechos históricos"


🔑 Keywords para Validación Automática

const correctAnswers = {
  "1": true,   // Curiosidad científica
  "2": false,  // No solo química
  "3": false,  // No nació en Francia
  "4": true,   // Valoraba educación
  "5": true,   // Madre dirigía escuela
  "6": false,  // No a los 20 años
  "7": true,   // Maria Sklodowska
  "8": true,   // Primera mujer Nobel
  "9": false,  // Padre SÍ apoyaba
  "10": false  // No estudió en Varsovia
};

// Validación estricta: debe coincidir exactamente
function validateTrueFalse(userAnswers) {
  let correctCount = 0;
  for (let id in correctAnswers) {
    if (userAnswers[id] === correctAnswers[id]) {
      correctCount++;
    }
  }
  return (correctCount / 10) * 100;
}

EJERCICIO 1.5: SOPA DE LETRAS (BONUS)

Tipo: sopa_letras Dificultad: Beginner Tiempo estimado: 10 minutos Tiempo límite: 10 minutos Puntos máximos: 100 Puntos de aprobación: 70 Nota: Este es un ejercicio BONUS opcional

📊 Configuración del Ejercicio

{
  "gridSize": {"rows": 10, "cols": 10},
  "useStaticGrid": true,
  "directions": ["horizontal", "vertical", "diagonal"],
  "selectionMode": "click-drag",
  "highlightFound": true
}

🎯 Palabras a Encontrar (10 total)

# Palabra Longitud Dirección Inicio Dificultad
1 MARIE 5 Horizontal (9,4) Fácil
2 CURIE 5 - - Media
3 POLONIA 7 Horizontal-Reverse (3,8) Media
4 NOBEL 5 Vertical (3,0) Media
5 RADIO 5 - - Media
6 POLONIO 7 - - Alta
7 PARIS 5 Vertical (1,1) Fácil
8 SORBONA 7 - - Alta
9 CIENCIA 7 - - Media
10 FÍSICA 6 - - Media

🗂️ Grid de 10×10

   0   1   2   3   4   5   6   7   8   9
0  A   C   I   S   Í   F   K   A   V   S
1  É   P   M   V   V   Ó   I   A   N   Y
2  Í   A   Ü   H   D   C   N   T   M   É
3  N   R   A   I   N   O   L   O   P   É
4  O   I   T   E   B   C   I   T   R   D
5  B   S   I   R   U   N   Ó   N   A   Ó
6  E   C   O   R   O   C   Í   D   D   Í
7  L   S   I   L   X   T   M   Y   I   Ü
8  J   E   O   Í   Í   L   P   O   O   Á
9  N   P   M   A   R   I   E   E   O   V

RESPUESTA EXCELENTE (100 puntos)

10/10 palabras encontradas en tiempo:

{
  "MARIE": {row: 9, col: 4, direction: "horizontal", found: true},
  "CURIE": {row: 0, col: 1, direction: "diagonal", found: true},
  "POLONIA": {row: 3, col: 8, direction: "horizontal-reverse", found: true},
  "NOBEL": {row: 3, col: 0, direction: "vertical", found: true},
  "RADIO": {row: 5, col: 3, direction: "vertical", found: true},
  "POLONIO": {row: ?, col: ?, direction: "?", found: true},
  "PARIS": {row: 1, col: 1, direction: "vertical", found: true},
  "SORBONA": {row: ?, col: ?, direction: "?", found: true},
  "CIENCIA": {row: ?, col: ?, direction: "?", found: true},
  "FÍSICA": {row: 0, col: 5, direction: "vertical-reverse", found: true}
}

Estrategia exitosa observada:

  1. Palabras largas primero: POLONIA (7), POLONIO (7), SORBONA (7) son más fáciles de ubicar visualmente
  2. Bordes y esquinas: MARIE (fila 9), NOBEL (columna 0) están en los bordes
  3. Búsqueda sistemática: Escanear fila por fila o columna por columna
  4. Uso de primera letra: Buscar "P" para POLONIA, POLONIO, PARIS; "M" para MARIE

Tiempo transcurrido: 8 minutos 23 segundos (dentro del límite de 10 min)

Scoring:

  • 10/10 palabras encontradas = 100 puntos
  • Completado dentro del tiempo límite = +0 bonificación
  • Sin uso de comodines = +0 bonificación
  • Ejercicio BONUS = no afecta calificación obligatoria del módulo

Feedback del sistema:

"¡Excelente! Has encontrado todas las palabras del vocabulario científico de Marie Curie. Ejercicio BONUS completado. ✓ 100/100 puntos + 100 XP adicional."


⚠️ RESPUESTA ACEPTABLE (65-79 puntos)

7-8/10 palabras encontradas:

{
  "MARIE": {found: true},   // ✓
  "CURIE": {found: false},  // ✗ No encontrada
  "POLONIA": {found: true}, // ✓
  "NOBEL": {found: true},   // ✓
  "RADIO": {found: true},   // ✓
  "POLONIO": {found: false},// ✗ No encontrada
  "PARIS": {found: true},   // ✓
  "SORBONA": {found: false},// ✗ No encontrada
  "CIENCIA": {found: true}, // ✓
  "FÍSICA": {found: true}   // ✓
}

Palabras no encontradas:

  • CURIE: Probablemente en diagonal (más difícil de ver)
  • POLONIO: Palabra larga (7 letras) que puede estar en dirección compleja
  • SORBONA: Palabra larga (7 letras) que requiere búsqueda cuidadosa

Tiempo transcurrido: 9 minutos 45 segundos (casi agotando tiempo límite)

Scoring:

  • 7/10 palabras encontradas = 70 puntos
  • Completado dentro del tiempo límite (apenas) = +0 bonificación
  • Uso de 1 comodín "Pista" (-15 ML Coins) para revelar FISICA

Feedback del sistema:

"Buen trabajo. Encontraste 7 de 10 palabras. Tip: Revisa las diagonales cuidadosamente - algunas palabras como CURIE pueden estar en esa dirección. ⚠️ 70/100 puntos."


RESPUESTA INCORRECTA (0-49 puntos)

Escenario 1: Tiempo agotado (0-5 palabras encontradas)

{
  "MARIE": {found: true},   // ✓ (fácil, fila 9)
  "CURIE": {found: false},  // ✗
  "POLONIA": {found: false},// ✗
  "NOBEL": {found: true},   // ✓ (columna 0)
  "RADIO": {found: false},  // ✗
  "POLONIO": {found: false},// ✗
  "PARIS": {found: true},   // ✓ (columna 1)
  "SORBONA": {found: false},// ✗
  "CIENCIA": {found: false},// ✗
  "FÍSICA": {found: false}  // ✗
}

Tiempo transcurrido: 10 minutos 00 segundos (TIEMPO AGOTADO)

Problemas observados:

  • Búsqueda no sistemática: Buscó aleatoriamente sin método
  • No usó pistas disponibles: Tenía comodines pero no los usó
  • Falta de práctica visual: No escaneó eficientemente el grid

Scoring:

  • 3/10 palabras encontradas = 30 puntos
  • Tiempo agotado = fin automático del ejercicio
  • No completó ejercicio = calificación parcial

Feedback del sistema:

"Tiempo agotado. Encontraste 3 de 10 palabras. Este ejercicio es BONUS, así que no afecta tu calificación del módulo. Tip: Busca primero palabras largas (POLONIA, POLONIO, SORBONA) y escanea sistemáticamente. 30/100 puntos."


Escenario 2: Abandonó el ejercicio

El estudiante puede optar por NO hacer este ejercicio porque es BONUS (opcional).

Scoring:

  • Ejercicio no iniciado = 0 puntos en este ejercicio
  • No afecta: Calificación del módulo (es opcional)
  • Pierde: 100 XP adicional + 20 ML Coins de recompensa

Feedback del sistema:

"No completaste el ejercicio BONUS. Recuerda: los ejercicios BONUS te dan XP y ML Coins adicionales, pero son opcionales. Puedes volver a intentarlo después."


🔑 Palabras y Posiciones (para Validación)

const wordsToFind = [
  "MARIE", "CURIE", "POLONIA", "NOBEL", "RADIO",
  "POLONIO", "PARIS", "SORBONA", "CIENCIA", "FÍSICA"
];

const wordsPositions = [
  {word: "MARIE", direction: "horizontal", startRow: 9, startCol: 4},
  {word: "POLONIA", direction: "horizontal-reverse", startRow: 3, startCol: 8},
  {word: "NOBEL", direction: "vertical", startRow: 3, startCol: 0},
  {word: "PARIS", direction: "vertical", startRow: 1, startCol: 1}
  // ... (otras posiciones según grid)
];

// Validación
function validateWordSearch(foundWords) {
  const score = (foundWords.length / wordsToFind.length) * 100;
  return {
    score: score,
    foundCount: foundWords.length,
    totalCount: wordsToFind.length,
    passed: score >= 70
  };
}

📊 CASOS DE USO

1. Testing QA Manual

Objetivo: Verificar que el frontend maneja correctamente las respuestas de los estudiantes

Procedimiento:

  1. Usar ejemplos de "RESPUESTA EXCELENTE" para verificar scoring perfecto (100 pts)
  2. Usar ejemplos de "RESPUESTA ACEPTABLE" para verificar scoring parcial (60-79 pts)
  3. Usar ejemplos de "RESPUESTA INCORRECTA" para verificar mensajes de error y límite de intentos
  4. Verificar que los feedback messages coincidan con los ejemplos

Checklist de validación:

  • Scoring correcto para respuestas perfectas
  • Scoring correcto para respuestas parciales
  • Mensajes de feedback apropiados
  • Límite de 3 intentos funciona correctamente
  • Comodines descuentan ML Coins correctamente
  • Ejercicio BONUS (1.5) es opcional y no afecta calificación del módulo

2. Testing Backend/API

Objetivo: Validar que los endpoints de validación funcionan correctamente

Endpoint: POST /api/v1/student/exercises/{exerciseId}/submit

Casos de prueba:

Test Case 1.1: Crucigrama - Respuesta perfecta

{
  "exerciseId": "uuid-crucigrama",
  "answers": {
    "h1": "SORBONA",
    "h2": "NOBEL",
    "h3": "RADIOACTIVIDAD",
    "v1": "POLONIO",
    "v2": "RADIO",
    "v3": "CURIE"
  }
}

Respuesta esperada:

{
  "score": 100,
  "passed": true,
  "feedback": "¡Excelente! Has completado el crucigrama correctamente...",
  "correctAnswers": 6,
  "totalAnswers": 6
}

Test Case 1.2: Línea de Tiempo - Orden incorrecto

{
  "exerciseId": "uuid-linea-tiempo",
  "answers": {
    "order": ["event-1", "event-2", "event-4", "event-3", "event-5", "event-6", "event-7"]
  }
}

Respuesta esperada:

{
  "score": 71,
  "passed": true,
  "feedback": "Casi perfecto. Los descubrimientos del polonio y radio ocurrieron DESPUÉS del matrimonio...",
  "correctPositions": 5,
  "totalPositions": 7,
  "attemptsRemaining": 2
}

Test Case 1.4: Verdadero/Falso - Todas incorrectas

{
  "exerciseId": "uuid-verdadero-falso",
  "answers": {
    "1": false, "2": true, "3": true, "4": false, "5": false,
    "6": true, "7": false, "8": false, "9": true, "10": true
  }
}

Respuesta esperada:

{
  "score": 10,
  "passed": false,
  "feedback": "Necesitas leer el contexto histórico más cuidadosamente...",
  "correctAnswers": 1,
  "totalAnswers": 10,
  "attemptsRemaining": 2
}

3. Demos Pedagógicas

Objetivo: Mostrar a stakeholders o maestros cómo funcionan los ejercicios

Flujo de demo (15 minutos):

  1. Crucigrama (3 min):

    • Mostrar cómo completar 2-3 palabras
    • Demostrar intersecciones (letras compartidas)
    • Mostrar uso de comodín "Pista"
  2. Línea de Tiempo (2 min):

    • Drag & drop de eventos
    • Mostrar feedback inmediato (verde/rojo)
    • Destacar importancia de fechas
  3. Completar Espacios (2 min):

    • Mostrar banco de palabras
    • Demostrar drag & drop o selección
    • Validar coherencia gramatical
  4. Verdadero/Falso (3 min):

    • Leer contexto histórico
    • Evaluar 2-3 afirmaciones
    • Mostrar explicaciones al finalizar
  5. Sopa de Letras BONUS (2 min):

    • Explicar que es opcional
    • Mostrar búsqueda de 1-2 palabras
    • Destacar timer de 10 minutos
  6. Resumen (3 min):

    • Mostrar progreso del módulo
    • XP y ML Coins ganados
    • Próximo ejercicio disponible

4. Desarrollo Frontend

Objetivo: Implementar componentes de ejercicios con datos de prueba

Componente: CrucigramaExercise.tsx

// Test data para desarrollo
const testDataExcelente = {
  answers: {
    h1: "SORBONA",
    h2: "NOBEL",
    h3: "RADIOACTIVIDAD",
    v1: "POLONIO",
    v2: "RADIO",
    v3: "CURIE"
  },
  expectedScore: 100,
  expectedFeedback: "¡Excelente! Has completado el crucigrama..."
};

const testDataAceptable = {
  answers: {
    h1: "SORBONA",
    h2: "NOVEL", // error ortográfico
    h3: "RADIOACTIVIDAD",
    v1: "POLONIO",
    v2: "RADIO",
    v3: "" // vacío
  },
  expectedScore: 67,
  expectedFeedback: "Buen intento. Algunas respuestas necesitan corrección..."
};

5. Entrenamiento de Maestros

Objetivo: Capacitar a maestros para usar y evaluar resultados de estudiantes

Material de entrenamiento:

Sección 1: Comprensión del Módulo 1

  • Objetivo pedagógico: Comprensión Literal (Cassany Nivel 1)
  • Competencias evaluadas: Identificar información explícita, datos biográficos, vocabulario científico
  • 5 ejercicios progresivos

Sección 2: Interpretación de Resultados

Score Interpretación Acción recomendada
90-100 Excelente comprensión literal Avanzar al Módulo 2
70-89 Comprensión sólida con errores menores Revisar conceptos con errores, luego avanzar
50-69 Comprensión parcial Repasar ejercicios, usar pistas, reintentar
0-49 Comprensión deficiente Revisar texto base, sesión de tutoría, reintentar

Sección 3: Intervenciones por Ejercicio

Si el estudiante falla Crucigrama:

  • Revisar vocabulario científico básico
  • Practicar identificación de información explícita
  • Reforzar ortografía de términos técnicos

Si el estudiante falla Línea de Tiempo:

  • Trabajar cronología y secuencias temporales
  • Practicar identificación de fechas en textos
  • Reforzar comprensión de narrativas biográficas

Si el estudiante falla Completar Espacios:

  • Revisar comprensión de contexto gramatical
  • Practicar coherencia semántica
  • Reforzar lectura de textos completos antes de responder

Si el estudiante falla Verdadero/Falso:

  • Trabajar verificación de hechos contra evidencia textual
  • Practicar detección de palabras absolutas ("solamente", "nunca")
  • Reforzar diferencia entre inferencias y hechos explícitos

📚 REFERENCIAS

Fuente de Verdad

  • Seeds PROD: apps/database/seeds/prod/educational_content/02-exercises-module1.sql
  • Documento de Diseño: docs/00-vision-general/DocumentoDeDiseño_Mecanicas_GAMILIT_v6_1.md
  • Modelo Cassany: Nivel 1 - Comprensión Literal

Validadores Backend

  • apps/database/ddl/schemas/educational_content/functions/01-validate_crucigrama.sql
  • apps/database/ddl/schemas/educational_content/functions/02-validate_linea_tiempo.sql
  • apps/database/ddl/schemas/educational_content/functions/03-validate_completar_espacios.sql
  • apps/database/ddl/schemas/educational_content/functions/04-validate_verdadero_falso.sql
  • apps/database/ddl/schemas/educational_content/functions/05-validate_sopa_letras.sql

Frontend Components (Esperados)

  • apps/frontend/src/features/exercises/components/CrucigramaExercise.tsx
  • apps/frontend/src/features/exercises/components/LineaTiempoExercise.tsx
  • apps/frontend/src/features/exercises/components/CompletarEspaciosExercise.tsx
  • apps/frontend/src/features/exercises/components/VerdaderoFalsoExercise.tsx
  • apps/frontend/src/features/exercises/components/SopaLetrasExercise.tsx

🎓 CONCLUSIÓN

Esta guía proporciona ejemplos exhaustivos de respuestas en 3 niveles de calidad para todos los ejercicios del Módulo 1. Úsala para:

QA: Validar scoring y feedback del sistema Desarrollo: Implementar componentes con test data realista Demos: Mostrar funcionalidad a stakeholders Entrenamiento: Capacitar maestros en interpretación de resultados Testing API: Verificar endpoints de validación

Próximos pasos: Revisar guías de los Módulos 2 y 3 para comprensión inferencial y crítica.


Documento generado: 2025-11-23 Autor: Architecture-Analyst Versión: 1.0 Estado: Listo para uso en QA, desarrollo y demos