Skip to content

Releases: mbujosab/calcprop-qbank

qbank 0.8.1

Choose a tag to compare

@mbujosab mbujosab released this 22 Oct 10:12

Correcciones

  • Plantilla: make patrones fallaba en cualquier proyecto nuevo si no se pasaba SEMILLAS=N: --patrones tomaba el primer .json como su número de sorteos («invalid int value»). Los ficheros van ahora delante y --patrones al final.
  • Regla patron: un dígito que es argumento de una orden de notación (\boldsymbol 1, \mathbf{1}, \mathbb, \vec, \hat…) ya no cuenta como cifra legible. Evita un falso positivo del tipo «con una cifra del enunciado ⇒ V» cuando el enunciado lleva el vector de unos y una opción dice «mayor que $1$».

Sin cambios en la API ni en la documentación respecto a 0.8.0.

qbank 0.8.0

Choose a tag to compare

@mbujosab mbujosab released this 22 Oct 09:33

Novedades

Patrones memorizables (regla 11 del lint, código patron). Lo que un alumno podría acertar sin leer el enunciado tras ver varias variantes de la misma pregunta. Es opcional porque es más lento que el resto del lint: lint(..., patrones=True), python -m qbank.lint --patrones [N] o, en un proyecto, make patrones [SEMILLAS=N]. Todo lo que encuentra es AVISO: son indicios que hay que leer.

  • Una Cuestion de verdad variable pero casi constante (el mismo valor en el 85 % o más de sus apariciones), o una lambda con setup constante en toda la muestra (donde constante solo podía dar INFO).
  • Dentro de un «tipo de frase» (el texto sin cifras), una cifra cuyo valor separa por completo las verdaderas de las falsas: la elasticidad verdadera siempre menor que 1 y su gemela inversa siempre mayor.
  • Un rasgo superficial de la opción (una palabra, una cifra concreta, repetir una cifra del enunciado, tener la cifra mayor o menor del hueco, ser más larga que la mediana) que, con él o sin él, predice la verdad en el hueco con acierto alto, mejora sobre la tasa base, soporte a ambos lados y p-valor corregido.

Los rasgos salen del propio banco (sin lista de palabras ni dependencia del idioma) y no se miran relaciones aritméticas con los datos del enunciado: en una pregunta de cálculo la respuesta correcta debe ser función de ellos. Diseño y medida en PLAN-detector-patrones.org.

Cambios

  • codchar convierte todas las letras del español (mayúsculas y ü incluidas) y ¿ ¡; el fix_moodle_xml.py de la plantilla declara el XML en UTF-8.
  • Manual: cómo subir y actualizar el banco en Moodle desde el terminal.
  • La plantilla exige qbank 0.8 o posterior.

qbank 0.7.0

Choose a tag to compare

@mbujosab mbujosab released this 21 Oct 09:41

Novedades

Vista de lectura. QuizLectura escribe un documento LaTeX para leer y revisar las preguntas, no para el examen. Incluye la tabla de mundos y un ejemplo por mundo con el enunciado en un recuadro. Las alternativas van agrupadas por hueco, cada una con su V/F y su exp, y las excluidas por precondición aparecen con su motivo.

  • Clave JSON nueva "lectura": {"cubrir": [...]}: un ejemplo por cada combinación de valores de esas variables del setup.
  • ProblemaTipo.por_partes_lectura() da los datos: alternativas por hueco y espacio de nombres del setup.
  • lint tiene una regla nueva, lectura.
  • En la plantilla: scripts/gen_lectura.py y make lectura [LECCION=N], con un PDF por lección.

Prompts para escribir preguntas con una IA. qbank-init deja ahora en el proyecto:

  • prompts/PROMPT-qbank-generico.org: qué leer, proceso de trabajo y reglas. Remite a la Guía y al Manual.
  • prompts/PROMPT-proyecto.org: las decisiones del banco, con huecos por rellenar.
  • Un CLAUDE.md de entrada.

El prompt genérico está también en la web.

Cambios

  • La plantilla exige qbank 0.7 o posterior.
  • Los enlaces del proyecto en PyPI incluyen la web de documentación, Binder y este historial.

qbank 0.6.0

Choose a tag to compare

@mbujosab mbujosab released this 19 Oct 21:35

Primera versión pensada para crear un banco de preguntas sin ayuda externa.

  • qbank-init DIR: crea un proyecto de banco con cinco preguntas de ejemplo, Makefile (make lint, make tabla, make amc, make amc-student, make moodle), scripts de exportación y nueva_pregunta.py para escribir preguntas en Python y guardarlas como JSON.
  • lint / qbank-lint: comprobación automática de cada pregunta (mezcla de correctas e incorrectas, negaciones no deducibles, @{var} sin resolver, caracteres que rompen LaTeX o Moodle, estructura del JSON…) y tabla_mundos.
  • Supuesto, Cuestion y setup admiten su forma de cadena (la del JSON); seed e instances para preguntas aleatorias reproducibles; QuizMoodleProfe con last_choice e instances; AMC_multipart para preguntas de varias partes.
  • Documentación nueva: README, Tutorial.ipynb, GuiaDiseno (cómo diseñar buenas preguntas) y Manual (referencia), con los cuadernos ejecutables en MyBinder.

pip install calcprop-qbank

v0.3.2

Choose a tag to compare

@mbujosab mbujosab released this 16 Jun 20:35

Cambios desde v0.2.2

v0.3.0 — Refactorización de la API de exportación

  • Nueva API unificada: AMCblock, QuizMoodle, QuizAMCProfe
  • Eliminación de aliases deprecados (AMC*, QuizMoodleLastCh, etc.)
  • Mejoras de API derivadas del uso en qbank-econometria

v0.3.1 — Mejoras de usabilidad

  • por_partes(): nuevo parámetro verbose=False para silenciar rechazos en batch
  • Exportación .py: incluye seed para reproducibilidad con np.random
  • Nuevos notebooks: Tutorial.ipynb con 5 ejemplos progresivos, Ejemplos.ipynb actualizado

v0.3.2 — Dependencias y documentación

  • Declara numpy como dependencia explícita en pyproject.toml
  • Añade numpy a binder/requirements.txt para forzar rebuild en MyBinder
  • Añade CLAUDE.md con documentación de la API y flujo de trabajo

v0.2.2

Choose a tag to compare

@mbujosab mbujosab released this 10 Jun 08:33

Cambios respecto a v0.2.1

Documentación

  • Operadores que faltaban documentados en la tabla del bloque básico de Demo.ipynb y en las dos tablas de operadores del Manual: ** (equivalencia / bicondicional), alguno(...) (alguna de la lista verdadera) y unoDe(...) (exactamente una verdadera).
  • Enlaces a LICENSE y Manual.org en el README corregidos con URLs absolutas de GitHub (se rompían en la página de PyPI).

PyPI: https://pypi.org/project/calcprop-qbank/0.2.2/

v0.2.1

Choose a tag to compare

@mbujosab mbujosab released this 09 Jun 19:13

Cambios respecto a v0.2.0

Editor visual

  • Corrección del botón ⬇ Descargar en ProblemaTipoEditor.

Demo y ejemplos

  • Demo.ipynb corregido y mejorado: ProblemaTipoProfe usa la lista de componentes correctamente, la sección de conversiones entre formatos muestra las variantes, nuevos ejemplos de ProblemaMultiParte (álgebra lineal y cálculo numérico con setup).
  • Nuevo ejemplosManual/numeros.json: ProblemaTipo con setup Python serializable, pensado para demostrar el editor visual con código real en el campo Setup.

v0.2.0

Choose a tag to compare

@mbujosab mbujosab released this 09 Jun 17:46

Novedades

Preguntas multi-parte

  • Nueva clase ProblemaMultiParte y contenedor SubPregunta para agrupar varias sub-preguntas bajo un enunciado común.
  • AMC_multipart: exportación a LaTeX AMC con un bloque \begin{choices} por sub-pregunta.
  • QuizClozeMulti: exportación a Moodle cloze con sub-bloques \begin{multi} incrustados.

Persistencia y serialización

  • save_problema / load_problema / save_banco / load_banco soportan ProblemaMultiParte.
  • problema_to_python / save_problema_py generan código Python editable para ProblemaTipo y ProblemaMultiParte.

Editor visual

  • Nuevo botón ⬇ Descargar en ProblemaTipoEditor: descarga el JSON directamente al navegador sin necesidad de save_problema().

Demo y documentación

  • Notebook ejemplosManual/Demo.ipynb con 11 secciones: ProblemaTipoProfe, bancos multi-problema, conversiones entre formatos, editor con setup y ejemplos de álgebra lineal y cálculo numérico para ProblemaMultiParte.
  • Badge de MyBinder en el README apunta a JupyterLab.
  • Nuevo ejemplosManual/numeros.json: ejemplo de ProblemaTipo con setup Python serializable.