Regresar
Técnicas Avanzadas de Programación
Objetivo general
Presentar al estudiante una serie de técnicas avanzadas de programación que le permitirán desarrollar aplicaciones complejas, que sean fáciles de adaptar a situaciones diferentes y fáciles de modificar y mantener.
Objetivos específicos
- Estar en capacidad de utilizar técnicas de programación orientada a objetos para el desarrollo de programas complejos.
- Estar en capacidad de utilizar técnicas de programación orientada a objetos en el desarrollado de aplicaciones que sean fáciles de adaptar a situaciones diferentes.
- Estar de capacidad de desarrollar aplicaciones que sean fáciles de modificar y mantener, aplicando técnicas de programación orientada a objetos.
- Estar en capacidad de aplicar patrones de diseño al desarrollo de aplicaciones
- Estar en capacidad de aplicar patrones de diseño al desarrollo de aplicaciones
Textos
- Budd Timothy. Introducción a la Programación Orientada a Objetos. Addison-Wesley Iberoamericana. 1994.
- Stroustrup, Bjarne. The C++ Programming Language. Addison Wesley. Segunda edición. 1991.
- Aguilar Joyanes, Luis. Programación Orientada a Objetos. Segunda edición. Osborne McGraw-Hill. 1998.
- Gamma Erich, Helm Richard, Johnson Ralph, Vlissides John. Design Patterns. Elements of reusable Object Oriented Software. Addison Wesley.
Material de apoyo
Contenido
UNIDAD I. Introducción
- Introducción
- Orígenes de la programación orientada a objetos.
- Mecanismos de abstracción anteriores a la P.O.O.
- Justificación. Ventajas y desventajas de la P.O.O.
UNIDAD II. Conceptos básicos de programación orientada a objetos
- Clase
- Mensaje y método
- Objeto
- Herencia
- Polimorfismo
- Interfaz
UNIDAD III. Diseño orientado a objetos
- Diseño dirigido por responsabilidades
- Técnicas de diagramado (lenguaje de modelado unificado-UML)
UNIDAD IV. Mecanismos de reutilización de código
- Herencia
- Composición
- Delegación
- Tipos parametrizados
UNIDAD V. Enlace estático y dinámico
- Asignación estática y dinámica de tipos
- Enlace estático y dinámico de métodos
UNIDAD VI. Herencia y tipos
- Distribución de la memoria
- Asignación
- Equivalencia
- Conversión de tipos
- Herencia de clases y herencia de interfaces
UNIDAD VII. Ocultamiento de información
- Acoplamiento y cohesión
- Control de acceso y visibilidad
UNIDAD VI. Patrones de diseño
- Concepto
- Estructura de un patrón de diseño
- Patrones creacionales
- Patrones estructurales
- Patrones de comportamiento
UNIDAD VI. Programación con hilos
- Concurrencia y paralelismo
- Hilos y procesos
- Modelos de programación multihilos
- Ciclo de vida de un hilo
- Prioridades
- Sincronización
- Prácticas recomendadas