Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/kenri89/PROYECTO_UTP_AED_1_1/llms.txt

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

All collections in Sistema de Gestión Académica — UTP AED are hand-written inside the estructuras package as a core requirement of the Algorithms and Data Structures (AED) course. No ArrayList, HashMap, Stack, or any other class from java.util is used for domain data. Each structure was chosen deliberately to match the access pattern of the panel that consumes it — ordered lookup for students, sequential filtering for enrollments, LIFO audit trail for actions, grid layout for semesters, and index-based export for the course catalog.

Structure Comparison

StructureClassPurposeKey Operation
Binary Search TreeArbolEstudiantesStudent registryO(log n) carnet lookup
Singly-Linked ListListaMatriculaEnrollment recordsSequential insert + carnet filter
Singly-Linked ListListaCursosCourse linked traversalCombo-box population
Stack (LIFO)PilaAcciones_U3Enrollment audit trailPush / pop actions
2D MatrixMatrizSemestresCourses by semesterRow = semester, Col = slot
Dynamic ArrayArregloCursosCourse catalog iterationIndex-based access + Excel export

Why Multiple Structures for Courses?

Curso data is inserted into three separate structures simultaneously — ArregloCursos, ListaCursos, and MatrizSemestres — because each panel has a fundamentally different access need. ArregloCursos supports fast index-based iteration and is the source for the Apache POI Excel exporter. ListaCursos is traversed with a Consumer<Curso> lambda to populate combo-boxes in the enrollment form. MatrizSemestres provides a semester-row view used by the grid panel. All three must be kept in sync: every insert, update, and delete operation must be applied to all three structures.

Detail Pages

BST Estudiantes

Binary Search Tree keyed by student carnet. Supports O(log n) insert, search, update, delete, and in-order traversal for sorted display.

Lista Matrícula

Singly-linked list of enrollment records identified by (carnet, codigoCurso) pair. Supports append, exact lookup, and per-student filtering.

Stack Historial

LIFO stack of AccionMatricula records. Every enrollment and cancellation is pushed here for the history panel display.

Matrix Semestres

10×10 Curso matrix where each row corresponds to a semester (1–10) and columns are open slots filled left-to-right.

Array Cursos

Dynamic array starting at capacity 100, doubling on overflow. Primary source for index-based iteration and Apache POI Excel export. Also covers the parallel ListaCursos linked list for combo-box traversal.

Build docs developers (and LLMs) love