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.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.
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,jsonyrandom; no se requiere ninguna instalación adicional.
Estructuras y Algoritmos
| Funcionalidad | Estructura / Algoritmo |
|---|---|
| Sugerencias de cursos | Quick Sort |
| Búsqueda de curso por ID | Búsqueda Binaria |
| Progreso en tiempo real | Cola FIFO |
| Detección de abandono | Grafo de Rendimiento |
| Historial de módulos | Recursividad |
Arquitectura General
La aplicación se organiza en torno a dos clases principales:-
MotorBaseDatos— gestiona la lectura y escritura del archivodb_local.json. Al iniciarse, comprueba si el archivo existe; si no, lo crea con un conjunto de cinco cursos predeterminados. Expone métodos comoobtener_cursos()yguardar_progreso()que desacoplan la persistencia del resto de la lógica. -
AplicacionAprendizaje— hereda detk.Tky 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.).
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.