Referencias Bibliográficas: [Brookshear, 2012]
Tópicos
- Diseño orientado a objetos.
 
- Encapsulación y ocultamiento de la información.
 
- Separación de comportamiento e implementación.
 
- Clases y subclases.
 
- Herencia (sobreescritura, despacho dinámico).
 
- Polimorfismo (polimorfismo de subtipo vs. herencia).
 
- Jerarquías de clases.
 
- Clases de tipo colección y protocolos de iteración.
 
- Representaciones internas de objetos y tablas de métodos.
 
Objetivos
- Justificar la filosofía de diseño orientado a objetos y los conceptos de encapsulación, abstracción, herencia y polimorfismo.
 
- Diseñar, implementar, probar y depurar programas simples en un lenguaje de programación orientado a objetos.
 
- Describir como los mecanismos de clases soportan encapsulación y ocultamiento de la información.
 
- Diseñar, implementar y probar la implementacion de la relación es-un IsKindOf entre objetos usando jerarquía de clases y herencia.
 
- Comparar y contrastar las nociones de sobrecarga y sobreescritura de métodos en un lenguaje de programación.
 
- Explicar la relación entre la estructura estática de una clase y la estructura dinámica de las instancias de dicha clases.
 
- Describir como los iteradores acceden a los elementos de un contenedor.
 
Generado por Ernesto Cuadros-Vargas ,               Sociedad Peruana de Computación-Peru,               Universidad Católica San Pablo, Arequipa-Peru
              basado en el modelo de la Computing Curricula de               IEEE-CS/ACM