Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/carlosgomezc7/plataforma_aprendizaje/llms.txt

Use this file to discover all available pages before exploring further.

Esta página reúne las preguntas más frecuentes sobre la Plataforma Educativa Personalizada: desde los requisitos de entorno y la ejecución inicial, hasta el comportamiento de sus estructuras de datos (cola, grafo, quicksort, búsqueda binaria) y las opciones de extensión disponibles para desarrolladores.
Python 3.x. La aplicación usa f-strings (introducidas en Python 3.6) y depende de tkinter, que forma parte de la biblioteca estándar. Tkinter está incluido en el instalador oficial de Python para Windows y macOS. En distribuciones Linux basadas en Debian/Ubuntu puede no estar presente en instalaciones mínimas y debe instalarse por separado con:
sudo apt-get install python3-tk
Es probable que tkinter no esté incluido en tu instalación de Python. Instálalo con el gestor de paquetes de tu distribución:
  • Debian / Ubuntu:
    sudo apt-get install python3-tk
    
  • Fedora / RHEL:
    sudo dnf install python3-tkinter
    
  • Arch Linux:
    sudo pacman -S tk
    
Una vez instalado, vuelve a ejecutar python index.py y la ventana debería abrirse con normalidad.
En el archivo db_local.json, ubicado en la raíz del proyecto, el mismo directorio donde se encuentra index.py. El archivo se crea automáticamente la primera vez que se ejecuta la aplicación; no es necesario crearlo manualmente.
Sí. Llama a detectar_cuellos_botella(umbral=N) con cualquier valor numérico. El valor predeterminado es 50, lo que significa que se genera una alerta cuando la tasa de abandono entre dos módulos es igual o superior al 50 %. Valores más bajos producen más alertas; valores más altos suprimen las transiciones limítrofes.
alertas = grafo.detectar_cuellos_botella(umbral=30)  # Más sensible
alertas = grafo.detectar_cuellos_botella(umbral=75)  # Menos sensible
No. La Búsqueda Binaria (busqueda_binaria_curso) opera exclusivamente sobre el campo id. Antes de ejecutarse, la lista de cursos se ordena de forma ascendente por id usando sorted(). El campo relevancia es utilizado únicamente por quicksort_cursos() para ordenar las sugerencias de cursos.
Sí. quicksort_cursos() acepta un argumento clave que puede ser cualquier campo presente en los diccionarios de curso. Por ejemplo, para ordenar por dificultad de mayor a menor:
cursos_por_dificultad = quicksort_cursos(cursos, 'dificultad')
El ordenamiento es siempre descendente (mayor valor primero), independientemente de la clave elegida.
Sí. Los elementos de ColaProgreso se almacenan únicamente en memoria durante la ejecución. Si cierras la aplicación sin sincronizar, esos registros se pierden de forma permanente. Debes hacer clic en “Sincronizar a BD (Desencolar)” antes de cerrar la app para que los progresos pendientes se escriban en db_local.json.
Llama a agregar_transicion(origen, destino, tasa) sobre la instancia de GrafoRendimiento antes de ejecutar el análisis. En la implementación actual esto debe hacerse directamente en el código de index.py, ya que la interfaz gráfica no expone un formulario para agregar transiciones. Por ejemplo:
self.grafo_rendimiento.agregar_transicion("Módulo 4", "Módulo 5", 72)
Después de agregar la transición, el botón “Analizar Cuellos de Botella” incluirá la nueva arista en su evaluación.
No. El proyecto funciona completamente sin conexión. Toda la información se almacena de forma local en db_local.json y no realiza ninguna llamada de red. No se requieren dependencias externas; únicamente las bibliotecas estándar de Python (tkinter, json, os, random).
El proyecto no incluye una suite de tests. Puedes verificar el comportamiento de cada función importándola directamente en un REPL de Python:
from index import quicksort_cursos, busqueda_binaria_curso

cursos = [{"id": 101, "nombre": "Test", "relevancia": 80, "dificultad": 3}]
print(quicksort_cursos(cursos))
# [{'id': 101, 'nombre': 'Test', 'relevancia': 80, 'dificultad': 3}]
Para probar la búsqueda binaria, recuerda que el array debe estar ordenado por id de forma ascendente antes de pasarlo a busqueda_binaria_curso().

Build docs developers (and LLMs) love