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