Saltearse al contenido

Tipos de Ejercicio

Estructura general

{
"id": "string",
"type": "ExerciseType",
"group": "ExerciseGroup",
"subgroup": "ExerciseSubgroup",
"content": {},
"config": {},
"metadata": {}
}

Grupos

GrupoEnumDescripción
VocabularyVOCABULARYVocabulario, definiciones, uso contextual
ReadingREADINGComprensión de lectura
ListeningLISTENINGComprensión oral basada en audio
GrammarGRAMMAREjercicios gramaticales

Subgrupos

SubgrupoEnumDescripción
Drag & DropDRAG_AND_DROPArrastrar elementos a zonas
MatchMATCHEmparejar elementos relacionados
Multiple ChoiceMULTIPLE_CHOICESelección múltiple
CompleteCOMPLETECompletar espacios en blanco
Word SearchWORD_SEARCHSopa de letras
CrosswordCROSSWORDCrucigrama

ExerciseType

Se construye como ${ExerciseGroup}_${ExerciseSubgroup}:

VOCABULARY_WORD_SEARCH
GRAMMAR_MULTIPLE_CHOICE
READING_COMPLETE
LISTENING_MATCH

Contenido por Subgrupo

MULTIPLE_CHOICE

{
"question": "What is the past tense of 'go'?",
"options": [
{ "id": "a", "text": "goed", "isCorrect": false },
{ "id": "b", "text": "went", "isCorrect": true },
{ "id": "c", "text": "gone", "isCorrect": false }
]
}

COMPLETE

{
"sentence": "I ___ to school yesterday.",
"answers": ["went"]
}

MATCH

{
"pairs": [
{ "left": "Dog", "right": "A loyal pet" },
{ "left": "Cat", "right": "A small animal" }
]
}

DRAG_AND_DROP

{
"items": [
{ "id": "1", "text": "Apple", "correctZoneId": "fruit" },
{ "id": "2", "text": "Carrot", "correctZoneId": "vegetable" }
],
"zones": [
{ "id": "fruit", "label": "Fruits" },
{ "id": "vegetable", "label": "Vegetables" }
]
}
{
"words": [
{ "word": "APPLE", "clue": { "type": "TEXT", "value": "A red fruit" } },
{ "word": "DOG", "clue": { "type": "IMAGE", "value": "https://cdn/dog.webp" } }
],
"settings": {
"gridSize": 12,
"allowDiagonal": true,
"allowReverse": false
}
}

CROSSWORD (Dinámico)

{
"words": [
{ "answer": "CAT", "clue": { "type": "TEXT", "value": "A small animal" } },
{ "answer": "DOG", "clue": { "type": "TEXT", "value": "A loyal pet" } }
],
"settings": {
"gridSize": 10
}
}

CROSSWORD (Estático)

{
"clues": {
"across": [
{
"number": 1,
"answer": "CAT",
"clue": { "type": "TEXT", "value": "A small animal" },
"position": { "row": 0, "col": 0 }
}
],
"down": []
}
}

Config

{
"shuffle": true,
"timeLimit": 60,
"attempts": 1
}

Metadata

{
"difficulty": "easy",
"tags": ["past-tense", "verbs"],
"language": "en"
}

Evaluación

Cada tipo de ejercicio tiene su propia estrategia de evaluación:

TipoEstrategia
multiple_choiceComparación exacta
fill_blankMulti-respuesta, normaliza lowercase/trim
open_answerDistancia Levenshtein, umbral 80%
word_searchPalabras encontradas vs total
crosswordPalabras correctas vs total
matchPares correctos vs total
drag_and_dropItems en zona correcta vs total

Resultado:

{
"isCorrect": true,
"score": 10,
"feedback": "All words found!"
}