A quién va dirigidoEstudiantes y desarrolladores que dominen variables, condicionales, ciclos y funciones en algún lenguaje de programación.
Objetivos✓Comprender el paradigma de objetos: clases, objetos, atributos, métodos, constructores y ciclo de vida.
✓Analizar un problema del dominio para modelarlo con diagramas UML de clases, de secuencia y casos de uso.
✓Aplicar encapsulamiento, herencia, interfaces, polimorfismo, genéricos, excepciones y lambdas en Java y Python.
✓Diseñar soluciones con los principios SOLID y los patrones Factory, Singleton, Strategy y Observer.
✓Evaluar la calidad del código con pruebas unitarias en JUnit 5 y pytest, TDD y refactorización de olores de código.
EvaluaciónInicial30%Ejercicios de clases y objetos en Java con Maven e IntelliJ IDEA o VS Code; revisión de convenciones de estilo de código.
Intermedio30%Programa con jerarquía de clases, interfaces y colecciones; diagrama de clases y de secuencia en PlantUML o draw.io.
Final40%Proyecto final: aplicación orientada a objetos (por ejemplo, un sistema de inventario) con diagrama de clases, al menos dos patrones de diseño y batería de pruebas unitarias, con sustentación.
Proyecto finalAplicación orientada a objetos (por ejemplo, un sistema de inventario) con diagrama de clases, al menos dos patrones de diseño y una batería de pruebas unitarias.