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.

La Plataforma Educativa Personalizada es una aplicación de escritorio interactiva que simula un entorno de aprendizaje adaptativo. Construida íntegramente en Python, combina una interfaz gráfica con Tkinter y un motor de persistencia en JSON para demostrar cómo las estructuras de datos y los algoritmos clásicos resuelven problemas educativos reales: recomendar cursos relevantes, rastrear el avance del estudiante, detectar puntos críticos de abandono y reconstruir rutas de aprendizaje completadas.

Cursos

Ordenamiento por relevancia con Quick Sort y búsqueda por ID con Búsqueda Binaria.

Progreso

Cola FIFO para registrar y sincronizar el avance del estudiante en tiempo real.

Análisis

Grafo de rendimiento para detectar cuellos de botella y patrones de abandono.

Historial

Algoritmo recursivo para reconstruir el árbol de módulos completados.

Objetivos del Proyecto

El proyecto tiene como propósito central demostrar que los algoritmos y las estructuras de datos no son conceptos abstractos: son herramientas concretas que mejoran la experiencia educativa. Cada módulo de la plataforma elige deliberadamente la estructura más adecuada para su problema —una cola para flujos en tiempo real, un grafo para relaciones complejas, ordenamiento para sugerencias personalizadas— ilustrando la toma de decisiones técnicas que define el desarrollo de software inteligente. De forma más específica, el proyecto busca:
  • Implementar al menos cinco estructuras de datos y algoritmos distintos en un mismo sistema cohesivo.
  • Conectar cada estructura con una necesidad educativa real, mostrando su impacto directo en la funcionalidad.
  • Ofrecer un punto de partida extensible para quienes deseen escalar la plataforma hacia entornos de producción.

Tecnologías Utilizadas

  • Python 3.x — lenguaje principal del proyecto.
  • Tkinter / ttk — biblioteca de interfaz gráfica incluida en la librería estándar de Python.
  • JSON local (db_local.json) — motor de base de datos persistente sin dependencias externas.
  • Librería estándar — módulos os, json y random; no se requiere ninguna instalación adicional.

Estructuras y Algoritmos

FuncionalidadEstructura / Algoritmo
Sugerencias de cursosQuick Sort
Búsqueda de curso por IDBúsqueda Binaria
Progreso en tiempo realCola FIFO
Detección de abandonoGrafo de Rendimiento
Historial de módulosRecursividad

Arquitectura General

La aplicación se organiza en torno a dos clases principales:
  • MotorBaseDatos — gestiona la lectura y escritura del archivo db_local.json. Al iniciarse, comprueba si el archivo existe; si no, lo crea con un conjunto de cinco cursos predeterminados. Expone métodos como obtener_cursos() y guardar_progreso() que desacoplan la persistencia del resto de la lógica.
  • AplicacionAprendizaje — hereda de tk.Tk y actúa como punto de entrada de la interfaz gráfica. Instancia el motor de base de datos, la cola de progreso y el grafo de rendimiento, y delega la construcción de cada pestaña a métodos dedicados (construir_pestana_cursos, construir_pestana_progreso, etc.).
Las funciones de algoritmos —quicksort_cursos, busqueda_binaria_curso y recuperar_historial_recursivo— se definen a nivel de módulo, independientes de la interfaz, lo que facilita su prueba y reutilización de forma aislada.
No se requieren dependencias externas. Tkinter viene incluido en la instalación estándar de Python 3, por lo que la plataforma funciona de inmediato sin necesidad de ejecutar pip install.

Build docs developers (and LLMs) love