El alumno codificará algoritmos modelando la realidad como un conjunto de objetos que interactúan entre ellos. Durante el desarrollo de la materia, se comprenderá el proceso de abstracción que debe realizarse para definir las características y el comportamiento de objetos del mundo real en objetos en software, así como la forma en la que éstos interactúan entre ellos a través del paso de mensajes. Así mismo, se estudiarán los mecanismos que permiten garantizar la integridad de los objetos protegiendo el acceso a sus atributos mediante los modificadores de acceso. Se estudiarán formas eficientes de representar los objetos y que permitan la reutilización de código y un mejor mantenimiento del software para realizar extensiones o generalizaciones a través de la aplicación del concepto de herencia, el polimorfismo y la sobrecarga de operadores, haciendo uso adecuado de los recursos computacionales. La aplicación de los conocimientos y habilidades adquiridas en conjunto, darán solución a problemas de la vida real empleando el

paradigma orientado a objetos para producir software eficiente y de mejor calidad.