Este curso entrega los fundamentos necesarios para desarrollar software orientado a objetos fácil de entender, extender y mantener en el tiempo. En particular, enseña a diseñar y programar buenos objetos, a usar la herencia sólo cuando ésta provee ventajas reales, a integrar objetos para resolver un problema complejo, a diseñar y resolver problemas usando patrones de diseño, a evaluar diseños usando métricas y a enfrentar desarrollo de software de pequeña y mediana complejidad usando metodologías estándares.
Al final de este curso el alumno debe ser capaz de:
- Entender los conceptos más importantes de las etapas de análisis, diseño y programación orientada a objetos y aplicarlos correctamente en el desarrollo de software de pequeña y mediana complejidad.
- Diseñar y programar objetos usando “buenos” objetos
- Usar en concepto de herencia de manera apropiada
- Usar y aplicar unit test
- Reconocer y aplicar patrones de diseño
- Programar en distintos lenguajes que soportan orientación a objetos tales como Java y C#
- Conocer y aplicar métricas para identificar problemas de diseño en programas orientados a objetos.
Reglas Entrega Tareas:
El ramo tiene 3 tareas, más ejercicios en clase.
- Recuerde que su tarea es individual y las copias serán penalizadas con nota 1
- La entrega se debe hacer vía U-Cursos hasta las 23:59 del día de entrega de la tarea 1 y usando bitbucket.org para la tarea 2 y 3