La asignatura Programación IV – Estructuras de Datos II constituye un espacio formativo orientado al fortalecimiento del pensamiento algorítmico y la capacidad de diseño de soluciones computacionales eficientes en escenarios de alta complejidad. En este nivel, el estudiante profundiza en el estudio, análisis e implementación de estructuras de datos avanzadas y algoritmos especializados, comprendiendo su impacto en el rendimiento, la escalabilidad y la seguridad de los sistemas informáticos. Este enfoque permite desarrollar criterios técnicos sólidos para la selección estratégica de estructuras de datos según la naturaleza del problema y los requerimientos del entorno tecnológico.
En el contexto de la ciberseguridad, la asignatura promueve la aplicación práctica del conocimiento mediante la resolución de problemas reales utilizando metodologías activas de aprendizaje, específicamente el Aprendizaje Basado en Proyectos y Retos (ABP-R). A lo largo del curso, los estudiantes diseñan y desarrollan progresivamente un sistema de análisis de incidentes de seguridad, integrando fundamentos teóricos, implementación técnica y justificación ingenieril. De esta manera, se fortalece su capacidad para construir soluciones robustas, eficientes y alineadas con las necesidades actuales de la industria y la protección de la información.
RESULTADOS DE APRENDIZAJE
RDA 1: Comprender los conceptos de algoritmos y estructuras de datos, analizando su funcionamiento y eficiencia computacional en la resolución de problemas de ciberseguridad.
Criterio de evaluación 1: Comprende los principios de los algoritmos de búsqueda y ordenamiento, identificando su funcionamiento y complejidad temporal y espacial en escenarios de ciberseguridad.
Criterio de evaluación 2: Comprende el impacto de la elección de algoritmos en el rendimiento de un sistema de análisis de incidentes de ciberseguridad.
RDA 2: Desarrollar algoritmos y estructuras de datos avanzadas para la resolución de problemas de complejidad media-alta, considerando criterios de eficiencia computacional en escenarios de ciberseguridad.
Criterio evaluación 1: Desarrolla algoritmos de ordenamiento avanzados y estructuras jerárquicas para optimizar el procesamiento de información de seguridad.
Criterio evaluación 2: Desarrolla soluciones algorítmicas considerando criterios de eficiencia computacional en escenarios de ciberseguridad.
RDA 3: Seleccionar las estructuras de datos más adecuadas según los requerimientos y características de distintos escenarios de ciberseguridad.
Criterio evaluación 1:Selecciona estructuras de datos adecuadas (árboles y grafos) para modelar escenarios de ciberseguridad.
Criterio evaluación 2:Selecciona y justifica estructuras de datos considerando relaciones, dependencias y flujos en escenarios de ciberseguridad.
Objetivo General
Desarrollar un sistema funcional orientado a un escenario realista de ciberseguridad mediante la integración de algoritmos de búsqueda, algoritmos de ordenamiento, árboles y grafos, aplicando criterios de eficiencia computacional, buenas prácticas de ingeniería de software y justificación técnica de las decisiones de diseño.
Objetivos específicos
Implementar estructuras de datos avanzadas (árboles y grafos) y algoritmos de búsqueda y ordenamiento en la resolución de problemas relacionados con la gestión y análisis de información en ciberseguridad.
Analizar el rendimiento y la eficiencia computacional del sistema desarrollado mediante pruebas, mediciones y comparación de alternativas algorítmicas.
Documentar técnicamente las decisiones de diseño adoptadas, asegurando coherencia con principios de ingeniería de software y buenas prácticas de seguridad informática.
Descripción del Proyecto
Actividades:
Analizar el escenario de ciberseguridad propuesto y definir el problema a resolver.
Levantar y documentar requerimientos funcionales y no funcionales del sistema.
Diseñar la arquitectura general del sistema.
Seleccionar y justificar las estructuras de datos a utilizar según el problema.
Diseñar e implementar algoritmos de búsqueda aplicados al sistema.
Diseñar e implementar algoritmos de ordenamiento para optimizar el procesamiento de datos.
Implementar estructuras basadas en árboles para organización y consulta eficiente de información.
Implementar estructuras basadas en grafos para modelar relaciones, flujos o conexiones dentro del sistema.
Integrar todos los componentes en una solución funcional.
Realizar pruebas funcionales y pruebas de rendimiento del sistema.
Analizar la eficiencia computacional mediante métricas de desempeño.
Documentar el sistema (diseño, implementación, pruebas y resultados).
Preparar la presentación técnica del proyecto.
Exponer y defender la solución desarrollada.
Metodología: Indicaciones para el trabajo del proyecto.
Planteamiento del reto inicial vinculado a un problema real de seguridad informática.
Desarrollo incremental del sistema mediante entregables parciales.
Integración progresiva de conocimientos teóricos y prácticos.
Trabajo autónomo y guiado.
Evaluación continua basada en productos funcionales.
Retroalimentación permanente del docente.
Presentación final como evidencia de logro de resultados de aprendizaje.
Criterios de Evaluación del proyecto.
Criterio
Descripción
Pts.
Diseño del Sistema
Arquitectura, modelado y coherencia técnica
10
Implementación Técnica
Correcta aplicación de estructuras de datos y algoritmos
15
Eficiencia Computacional
Análisis de complejidad, optimización y pruebas de rendimiento
10
Integración y Funcionamiento del Sistema
Funcionamiento completo del sistema
10
Documentación y Presentación Técnica
Claridad, sustento técnico y calidad de documentación
5
Puntaje máximo
50
Cronograma de entregables del Proyecto.
Fase
Semanas
Entregable
1
1 – 2
Definición del problema, análisis del escenario y requerimientos
2
3 – 4
Diseño del sistema y selección de estructuras de datos
3
5 – 6
Implementación inicial de algoritmos de búsqueda
4
7 – 8
Implementación de algoritmos de ordenamiento y pruebas de funcionamiento
5
9 – 10
Implementación de estructuras de árboles
6
11 – 12
Implementación de estructuras de grafos
7
13 – 14
Integración total del sistema y pruebas funcionales
8
15 – 16
Optimización, documentación final, presentación y defensa
Retos de aprendizaje de la asignatura:
RETO 1: Análisis algorítmico de eventos de seguridad (Reto formativo)
En este primer reto, el estudiante se enfoca en la comprensión y análisis de algoritmos, aplicados al procesamiento de datos asociados a eventos de ciberseguridad. A partir de conjuntos de datos simulados (por ejemplo, registros de accesos, direcciones IP, usuarios o eventos), el estudiante implementa y compara algoritmos de búsqueda y de ordenamiento, evaluando su comportamiento y eficiencia. El propósito de este reto es que el estudiante comprenda cómo la elección de un algoritmo impacta directamente en el rendimiento de un sistema de seguridad, sentando las bases conceptuales para la toma de decisiones técnicas en los retos posteriores.
RETO 2: Optimización del procesamiento y organización de la información
(Reto formativo)
En el segundo reto, el estudiante profundiza en la implementación de algoritmos más eficientes y estructuras de datos jerárquicas, orientadas a mejorar el rendimiento del sistema. Se incorporan algoritmos de ordenamiento avanzados y árboles como mecanismos para optimizar la búsqueda y organización de información. Este reto busca que el estudiante no solo implemente soluciones funcionales, sino que analice su eficiencia computacional y reflexione sobre su aplicabilidad en escenarios donde se manejan grandes volúmenes de datos de seguridad.
RETO 3: Modelado estructural de escenarios de ciberseguridad. (Reto formativo)
El tercer reto se centra en el modelado estructural de la información, utilizando árboles y grafos para representar relaciones, dependencias y flujos dentro de un escenario de ciberseguridad. El estudiante emplea estas estructuras para modelar infraestructuras de red, rutas de ataque, relaciones entre eventos o dependencias entre componentes críticos. En este punto, el estudiante comienza a seleccionar y justificar las estructuras de datos más adecua