Structure: - control-plane/: Registries, SIMCO directives, CI/CD templates - projects/: Gamilit, ERP-Suite, Trading-Platform, Betting-Analytics - shared/: Libs catalog, knowledge-base Key features: - Centralized port, domain, database, and service registries - 23 SIMCO directives + 6 fundamental principles - NEXUS agent profiles with delegation rules - Validation scripts for workspace integrity - Dockerfiles for all services - Path aliases for quick reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1339 lines
47 KiB
Markdown
1339 lines
47 KiB
Markdown
# 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](#ejercicio-11-crucigrama-científico)
|
||
2. [Ejercicio 1.2: Línea de Tiempo](#ejercicio-12-línea-de-tiempo)
|
||
3. [Ejercicio 1.3: Completar Espacios en Blanco](#ejercicio-13-completar-espacios-en-blanco)
|
||
4. [Ejercicio 1.4: Verdadero o Falso](#ejercicio-14-verdadero-o-falso)
|
||
5. [Ejercicio 1.5: Sopa de Letras (BONUS)](#ejercicio-15-sopa-de-letras-bonus)
|
||
6. [Casos de Uso](#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
|
||
|
||
```json
|
||
{
|
||
"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)
|
||
|
||
```javascript
|
||
// 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
|
||
|
||
```json
|
||
{
|
||
"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
|
||
|
||
```javascript
|
||
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
|
||
|
||
```json
|
||
{
|
||
"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\n**IMPORTANTE:** 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
|
||
|
||
```javascript
|
||
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:**
|
||
|
||
```typescript
|
||
// 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
|
||
|
||
```json
|
||
{
|
||
"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:**
|
||
|
||
```javascript
|
||
{
|
||
"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:**
|
||
|
||
```javascript
|
||
{
|
||
"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:**
|
||
|
||
```javascript
|
||
{
|
||
"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
|
||
|
||
```javascript
|
||
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
|
||
|
||
```json
|
||
{
|
||
"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:**
|
||
|
||
```javascript
|
||
{
|
||
"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:**
|
||
|
||
```javascript
|
||
{
|
||
"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)**
|
||
|
||
```javascript
|
||
{
|
||
"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)
|
||
|
||
```javascript
|
||
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**
|
||
```json
|
||
{
|
||
"exerciseId": "uuid-crucigrama",
|
||
"answers": {
|
||
"h1": "SORBONA",
|
||
"h2": "NOBEL",
|
||
"h3": "RADIOACTIVIDAD",
|
||
"v1": "POLONIO",
|
||
"v2": "RADIO",
|
||
"v3": "CURIE"
|
||
}
|
||
}
|
||
```
|
||
**Respuesta esperada:**
|
||
```json
|
||
{
|
||
"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**
|
||
```json
|
||
{
|
||
"exerciseId": "uuid-linea-tiempo",
|
||
"answers": {
|
||
"order": ["event-1", "event-2", "event-4", "event-3", "event-5", "event-6", "event-7"]
|
||
}
|
||
}
|
||
```
|
||
**Respuesta esperada:**
|
||
```json
|
||
{
|
||
"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**
|
||
```json
|
||
{
|
||
"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:**
|
||
```json
|
||
{
|
||
"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`
|
||
|
||
```typescript
|
||
// 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
|