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:


Reglas Entrega Tareas:

El ramo tiene 3 tareas, más ejercicios en clase.