- name
- matematicas-curso-educativo
- description
- DeSumarIntegrar — Curso completo de matemáticas de 1º Primaria a 1º Carrera: 107+ HTML interactivos con KaTeX, Plotly.js, ejercicios con feedback. Sistema de mejora continua con cron cada 30min. CALIDAD sobre cantidad — variedad de ejercicios, visuales solo si aportan.
- version
- 1.11.0
- category
- education
- tags
- ["data-science","education","math","html","interactive"]
# DeSumarIntegrar — Curso de Matemáticas Completo
Curso de matemáticas de Ntizar (David Antizar) que cubre desde 1º Primaria hasta 1º de Carrera universitaria. 107+ archivos HTML interactivos, ~1.2 MB.
## Referencias
- `references/cron-course-generation-pattern.md` — Patrón de generación de cursos educativos con crons encadenados: mega-plan + progress.json + cron generador auto-actualizable + cron verificador diario. Aplica a cualquier materia, no solo matemáticas.
- `references/progress-json-schema.md` — Schema de progress.json, campos de scores, pitfall de conteo canvas
- `references/cron-mejora-continua-config.md` — Configuración del cron de mejora continua, historial de ejecuciones
- `references/patch-escape-js-multiline.md` — Pitfall: patch() escapa newlines al insertar JS multilinea en HTML
- `references/css-bar-chart-primaria.md`
- `references/css-grid-cards-table.md` — Patrón de tabla de tarjetas CSS con grid para mostrar tablas completas de resultados en primaria (reemplazo ligero de Plotly). Colores semánticos (verde/naranja/rojo). — Patrón de gráfico de barras CSS+emoji para primaria (sin Plotly). Plotly SOLO en Bachiller/Universidad (ver `primaria-plotly-pattern.md` para la excepción).
- `references/canvas-interactivo-primaria.md` — Patrón canvas interactivo (pizarra mágica) para temas de figuras geométricas en primaria
- `references/canvas-figuras-compuestas.md` — Patrón canvas de figuras compuestas seleccionables (L/T/H) con quiz integrado. Diferente de pizarra mágica: es evaluación, no dibujo libre.
- `references/canvas-balanza-peso.md` — Patrón de balanza interactiva para temas de peso/masa en primaria: animales con pesos reales, click para revelar, comparación visual
- `references/primaria-plotly-pattern.md` — Patrón para añadir Plotly a archivos de primaria: CDN, contenedor, JS con guard, verificación.
- `references/css-decimal-alignment-grid.md` — Patrón de CSS grid para visualizar alineación de comas decimales (sin canvas). Útil para temas de sumar/restar decimales en primaria.
- `references/audit-completo.md` — Script de auditoría completa del proyecto: cobertura de tecnologías (KaTeX, Plotly, ejercicios, interactividad), estado CSS (glassmorphism, variables, inline styles), por nivel, temas pendientes. Resultado 2026-06-13: 101 archivos, glassmorphism ausente en 97/101, 52/101 con >15 estilos inline, ESO sin Plotly, 17 pendientes (12 estadística).
- `references/problema-inverso-pista-contextual.md` — Patrón de ejercicios inversos (hallar minuendo/sustraendo/factor) con pistas contextuales en feedback. Incluye tabla de 4 tipos de problema inverso.
- `references/write-file-python-escaping.md` — Patrón de escape de comillas simples en write_file con Python triple-quoted strings para HTML con JS inline.
- `references/individual-feedback-functions-pattern.md` — Patrón de funciones individuales con feedback rico (checkE6, checkE7...) vs funciones unificadas. Regla de decisión: usar individual solo cuando cada ejercicio necesita explicación específica del "por qué".
- `references/primaria-plotly-dynamic-chart.md` — Patrón para gráficos Plotly de barras con botones interactivos (randomizar/ordenar) en primaria.
- `references/connection-box-pattern.md` — Patrón de caja pedagógica "Conexión" que conecta el tema actual con algo ya aprendido.
- `references/connection-espejos-pattern.md` — Patrón de conexión restar↔sumar como "espejos" (inversas). NUNCA usar multiplicación como analogía para restar en 1º Primaria.
- `references/mnemonic-trick-pattern.md` — Patrón de caja "Truco mnemotécnico" con analogía visual para recordar conceptos abstractos.
- `references/complete-repeated-addition-pattern.md` — Patrón de ejercicio "completar suma repetida" para introducción a multiplicación: `3 × 4 = __ + __ + __`.
- `references/exercise-type-verification.md` — Script Python para verificar programáticamente la variedad de ejercicios antes de commitear.
- `references/progress-filename-mapping.md`
- `references/canvas-fracciones-equivalentes.md` — Patrón canvas de barras divididas para visualizar equivalencia de fracciones (1/2 = 2/4 = misma área). — Las keys de progress.json NO son nombres de archivo reales. Mapeo conocido y regla de verificación.
- `references/svg-recta-numerica.md` — Patrón de recta numérica interactiva con SVG (clic en números, muestra signo y valor absoluto). Ideal para temas de enteros en ESO. Diferente del canvas: accesible, escalable, estilizable con CSS.
- `references/bulk-html-insert-pattern.md` — Patrón para insertar múltiples bloques HTML en posiciones específicas usando Python `.replace()` en execute_code. Útil cuando archivo > 20KB y necesitas 3+ inserciones.
- `references/exercise-variety-matrix.md` — Matriz de tipos de ejercicio para archivos con 0 ejercicios. Enfoque de 2-3 ejercicios por capítulo, cada tipo diferente, con 1 caso real + 1 error común por capítulo.
- `references/order-radio-pattern.md` — Patrón para ordenar con radio buttons (3+ items, sin tracking de estado global).
- `references/landing-page-improvement-pattern.md` — Patrón para mejorar páginas landing/index: mini quiz interactivo (1-3 quizzes), caso real cotidiano, caja "¿Sabías que?", glassmorphism, tags por categoría. Diferente de páginas de lección.
- `references/quality-improvement-pattern.md` — Patrón programático de mejora de calidad: análisis previo del HTML, mapeo progress.json→archivo real, funciones JS reutilizables (checkVF, checkOrden), verificación post-mejora. v1.3.0 con lecciones 2026-06-10. Incluye pitfall página índice vs lección con patrón de mejora para landing pages (multi-quiz 3 preguntas, caso real, caja ¿Sabías que?).
- `references/improvement-cron-workflow.md` — Workflow programático para encontrar el primer tema pending que existe (mapeo progress.json → archivo real, código Python de referencia).
- `references/exercise-types-catalog.md` — Catálogo completo de 19 tipos de ejercicio (quiz, completar hueco, V/F, ordenar click, ordenar texto, problema contextualizado, problema cálculo, input texto, sección intermedia, encontrar regla, identificar NO-patrón, crear patrón, completar ritmo, emparejar sumas iguales, conteo visual emojis, decidir operación, emparejar incorrecta, ordenar por resultado, completar hueco multi-pasos) con HTML/JS de referencia y patrón de análisis previo.
- `references/write-file-vs-patch.md` — Cuándo usar write_file vs patch para HTML de DeSumarIntegrar. Regla: ≤20KB + 3+ cambios estructurales → write_file. Incluye patrón de JS unificado (checkE, checkVF, selectQuiz, checkOrder) descubierto 2026-06-10.
- `references/canvas-balanza-peso.md` — Patrón de canvas para balanza interactiva (temas de peso/masa en primaria).
- `references/js-unified-functions-pattern.md` — Patrón de funciones JS unificadas para mejoras de calidad: checkE(num, correct), checkVF(num, expected), selectQuiz(num, btn, selected), checkOrderN(). Diccionario interno de respuestas, reutilizable entre ejercicios.
- `references/calidad-sobre-cantidad.md` — Criterios de calidad: variedad de ejercicios, vida real, visuales útiles, estructura clara.
- `references/eliminar-antes-anadir.md` — Principio de eliminar ejercicios repetitivos ANTES de añadir nuevo contenido. Regla: ningún tipo >30% del total, ≥4 tipos diferentes.
- `references/exercise-types-session-2026-06-10.md` — 3 tipos nuevos descubiertos 2026-06-10: completar hueco inverso (hallar dividendo), problema inverso con doble input (conectar ×÷), ordenar por texto libre (input con coma). Regla de variedad actualizada: ningún tipo >30% del total.
- `references/hueco-multi-pasos.md` — Patrón de completar hueco con múltiples inputs inline (2-5) para enseñar procedimientos de varios pasos: descomposición de multiplicaciones, fracciones equivalentes, pasos intermedios. Diferente de completar hueco simple (1 input).
- `references/ejercicio-comparar.md` — Patrón de ejercicio de comparar (mayor/menor resultado) para entrenar pensamiento relacional. No es cálculo, es comparación.
- `references/consistency-verification.md` — Checklist para verificar que los enunciados de ejercicios coinciden con las funciones JS que los validan (IDs, números, booleanos).
- `references/canvas-linea-numerica-sapo.md` — Patrón de canvas interactivo de línea numérica con "sapo que salta": dibujo línea 0-20, círculo verde en posición inicial, flecha naranja hacia atrás, círculo azul en resultado. Reemplazo ligero de Plotly para visualización de resta en primaria. Diferente de `svg-recta-numerica.md` (SVG para ESO) y `canvas-balanza-peso.md` (balanza para peso).
- `references/rapid-batch-improvement.md` — patrón de MODO RÁPIDO: mejora batch de 4-6 temas por sesión con rotación obligatoria de niveles (Primaria → ESO → Bachiller). Diferente de mejora individual: selección por prioridad+nivel_rotado, plantilla uniforme por tema, git commit uno por tema.
- `references/css-audit-and-standarization.md` — Patrón de auditoría CSS por niveles y estandarización. Los 4 niveles (Primaria, ESO, Bachiller, Universidad) tenían cobertura CSS desigual: Primaria 47 clases, ESO 34 clases, Bachiller 28 clases, Universidad 42 clases. Incluye lista de 20 clases esenciales, bloques CSS por nivel, patrón de auditoría Python y resultados post-estandarización.
- `references/css-visual-verification.md` — Patrón de verificación visual completa con `browser_vision()`. No confundir "clases CSS existen" con "archivo se ve bien". Incluye umbrales mínimos por nivel y priorización (CRÍTICO <20, ALTO 20-30, MEDIO 30-35, BAJO 35+).
- **v1.11.0 (2026-06-13):** Added `references/audit-completo.md` — patrón de auditoría completa del proyecto. Hallazgos: 101 archivos HTML, glassmorphism ausente en 97/101, 52/101 con >15 estilos inline, ESO sin Plotly, 17 pendientes (12 estadística). Added pitfall: "glassmorphism ausente como problema sistémico" — 97/101 archivos sin `backdrop-filter`, el sello visual de Aurora. Added pitfall: "estilos inline excesivos" — 52/101 con >15 inline styles. Added pitfall: "ESO sin Plotly" — 0/11 con gráficos. Added pitfall: "17 temas pendientes" — laguna de estadística. Added pitfall: "duplicado s04-4". Added sección "Auditoría programática completa" con patrón reutilizable.
- **v1.10.1 (2026-06-12):** Added `references/css-visual-verification.md` — patrón de verificación visual completa con browser_vision(). Lección: David vio CSS "roto" en ESO 2º/3º a pesar de la estandarización. No confundir "clases CSS existen en el archivo" con "el archivo se ve bien". Incluye umbrales mínimos por nivel (Primaria 35+, ESO 40+, Bachiller 38+, Universidad 40+) y priorización (CRÍTICO <20, ALTO 20-30, MEDIO 30-35, BAJO 35+). Added pitfall: "CSS roto percibido por el usuario" en SKILL.md body.
- **v1.10.0 (2026-06-12):** Added `references/css-audit-and-standarization.md` — patrón de auditoría CSS por niveles y estandarización. Descubierto que los 4 niveles del proyecto (Primaria, ESO, Bachiller, Universidad) tenían CSS con diferente cobertura de clases: Primaria 47 clases, ESO 34 clases, Bachiller 28 clases, Universidad 42 clases. Solución: script que añade bloques CSS faltantes (feedback, chart-container, connection-box, step-indicator, real-world-badge, svg-container, exercise-input, interactive) a cada nivel. Ver sección "Estandarización CSS" en SKILL.md.
- **v1.9.7 (2026-06-10):** Added `references/consistency-verification.md` — pitfall de inconsistencia HTML↔JS descubierto 2026-06-10.
- **v1.9.8 (2026-06-10):** Added `references/canvas-linea-numerica-sapo.md` — patrón canvas de línea numérica interactiva con sapo que salta para restar visualmente en primaria. Reemplaza Plotly cuando es excesivo.
- **v1.9.6 (2026-06-10):** Added `references/hueco-multi-pasos.md` (patrón de completar hueco multi-pasos con 2-5 inputs inline para descomposición de multiplicaciones). Added exercise type 19 to `references/exercise-types-catalog.md`. Updated catalog count from 15 to 19 types.
## Repositorio
- **GitHub:** `Ntizar/DeSumarIntegrar`
- **Local:** `/root/workspace/DeSumarIntegrar/`
- **URL:** `https://ntizar.github.io/DeSumarIntegrar/`
- **Estado actual:** 101 archivos HTML (8 índices + 93 lecciones), 62 ejecuciones cron, 17 pendientes (12 estadística), glassmorphism ausente en 97/101
- **v1.9.5 (2026-06-10):** Added 3 new exercise types to `references/exercise-types-catalog.md`: tipo 16 (decidir operación), tipo 17 (emparejar: identificar pareja INCORRECTA), tipo 18 (ordenar por resultado). Added pitfall: "analogías confusas" — nunca usar multiplicación como analogía para restar en 1º Primaria; usar "espejos" (resta↔suma inversas) en su lugar.
- **v1.9.4 (2026-06-10):** Added `references/eliminar-antes-anadir.md` (principio de eliminar ejercicios repetitivos ANTES de añadir nuevo contenido). Added "REGLA DE ELIMINACIÓN" section to SKILL.md body.
- **v1.9.3 (2026-06-10):** Added `references/css-decimal-alignment-grid.md` (CSS grid para visualizar alineación de comas decimales, alternativa ligera a canvas). Added `references/problema-inverso-pista-contextual.md` (ejercicios inversos: hallar minuendo/sustraendo/factor con pistas contextuales).
- **v1.9.2 (2026-06-10):** Updated `references/landing-page-improvement-pattern.md` — multi-quiz landing pages (3 quizzes covering different topics), real-world case box, "¿Sabías que?" curiosity box. Updated `references/quality-improvement-pattern.md` — added landing page multi-quiz pattern.
- **v1.9.0 (2026-06-10):** Added `references/quality-improvement-pattern.md` patterns: input numérico con pista contextual (pista específica en vez de "intenta de nuevo"), conexión con el futuro (forward-looking, prepara para ESO), input-pattern CSS class.
- **v1.8.0 (2026-06-10):** Added `references/svg-recta-numerica.md` (recta numérica SVG interactiva para enteros ESO).
- **v1.8.1 (2026-06-10):** Added exercise types 14-15 (emparejar sumas iguales, conteo visual emojis) a `references/exercise-types-catalog.md`. Added canvas de línea numérica interactiva pattern a `references/quality-improvement-pattern.md`. Added `checkMatch` JS function pattern.
- **v1.7.0 (2026-06-10):** Added `references/canvas-fracciones-equivalentes.md` (canvas de barras divididas para visualizar equivalencia de fracciones), added pitfalls: canvas fracciones equivalentes, quiz negativo (identificar NO-equivalente), index page detection.
- **v1.6.2 (2026-06-10):** Added pitfall: index page vs lesson page detection — skip files without `<div class="exercise">` or `<div class="interactive">`. Updated `references/quality-improvement-pattern.md` with same pitfall.
- **v1.6.1 (2026-06-10):** Updated `references/quality-improvement-pattern.md` — added "eliminar contenido problemático" step, "problema inverso" exercise type, "caja de conexión" pattern, lecciones aprendidas (eliminar > añadir, coherencia temática, conexiones score 0→1+), pitfall de botones quiz con parámetro booleano. Updated scores objetivo: exercises 6-10 (variedad, no cantidad). Updated `references/bulk-html-insert-pattern.md` — added pitfall de duplicación por anclaje auto-referencial (insertar de abajo hacia arriba).
- **v1.5.0 (2026-06-10):** Added `references/canvas-balanza-peso.md` (canvas de balanza para peso/masa), added pitfall about missing `</div>` after exercise insertion, added progress stats (105 temas, 20 ejecuciones).
- **v1.4.0 (2026-06-09):** Added exercise types 10-13 (encontrar regla, identificar NO-patrón, crear patrón, completar ritmo), added variedad de ejercicios section, added bug duplicado opciones quiz.
## Stack
- KaTeX (CDN) para fórmulas LaTeX
- Plotly.js (CDN) para gráficos interactivos
- Responsive (móvil + escritorio)
## Filosofía pedagógica
1. **Intuición primero** — ejemplo de vida real antes que fórmula
2. **Visualización siempre** — gráfico interactivo para cada concepto clave
3. **Práctica con feedback** — ejercicios interactivos con respuesta inmediata
4. **Progresión suave** — cada sesión construye sobre la anterior
5. **Casos de uso reales** — "¿Dónde encuentro esto en la vida real?"
## Estructura del curso (10 niveles)
| Nivel | Sesión | Contenido | Archivos |
|-------|--------|-----------|----------|
| S01 | 1º-3º Primaria | Contar, sumar, restar, multiplicar, dividir, patrones, medidas | 15 HTML |
| S02 | 2º Primaria | Números grandes, fracciones intro, dinero | 15 HTML |
| S03 | 3º Primaria | Multiplicar, dividir, fracciones, perímetro, estadística | 8 HTML |
| S04 | 4º Primaria | Fracciones equivalentes, decimales, áreas, capacidades, problemas | 20 HTML |
| S05 | 5º Primaria | Decimales, porcentajes, estadística, tiempo, probabilidad | 7 HTML |
| S06 | 6º Primaria | Operaciones grandes, negativos, álgebra intro, potencias, ángulos | 7 HTML |
| S07 | 1º ESO | Enteros, proporcionalidad, ecuaciones, sistemas, estadística | 1 HTML (index) |
| S08 | 2º-3º ESO | Ecuaciones avanzadas, funciones, trigonometría, probabilidad | 1 HTML (index) |
| S09 | Bachiller | Límites, derivadas, integrales, probabilidad avanzada | 11 HTML |
| S10 | 1º Carrera | Multivariable, EDOs, Fourier, álgebra lineal | 11 HTML |
## Plantilla HTML de sesión
Cada sesión sigue esta estructura exacta:
```
<header class="header">
<h1>{title}</h1>
<p>{subtitle}</p>
<div class="progress-bar"><div class="progress-fill"></div></div>
</header>
<main class="container">
<section class="chapter">
<h2>🎯 ¿Qué vamos a aprender?</h2>
<div class="box box-idea">💡 Idea clave</div>
<ul>Objetivos de aprendizaje</ul>
</section>
<section class="chapter">
<h2>1️⃣ {theory_title}</h2>
<div class="box box-teoria">📖 Teoría</div>
<div class="box box-ejemplo">🔍 Ejemplo 1</div>
<div class="box box-ejemplo">🔍 Ejemplo 2</div>
<div class="box box-ejemplo">🔍 Ejemplo 3</div>
</section>
<section class="chapter">
<h2>2️⃣ {interactive_title}</h2>
<div class="interactive">
<h3>{interactive_desc}</h3>
{interactive_content}
<div class="result" id="interactiveResult"></div>
</div>
</section>
<section class="chapter">
<h2>📝 Ejercicios</h2>
<div class="exercises">
{exercises_html}
</div>
</section>
<div class="summary">📋 Resumen de lo aprendido</div>
<div class="nav">
<a href="{prev_link}">← Anterior</a>
<a href="{next_link}">Siguiente →</a>
Voir sur GitHub