OBJETIVO
El curso esta orientado a programadores de C++, tanto recién iniciados como con una experiencia intermedia. Se busca dar a los asistentes el conocimiento del modelo de objetos de C++ que les permita desarrollar mejores programas. No se trata de un curso de sintaxis, sino de un curso formativo, donde adquirir el criterio para escribir programas eficientes y robustos. El objetivo del curso es conocer el modelo de objetos sobre el cual se implemento este lenguaje y hacer uso de técnicas de programación basadas en el conocimiento del código generado por el compilador de acuerdo a este modelo .
Evolución
histórica del modelo del software. C++ y sus antecedentes.
El modelo de objetos.
Representación
de objetos, implantación.
Forma
canónica. Construcción y destrucción de objetos.
Administración
de memoria.
Jerarquía
de clases. Herencia de interfase y herencia de implementación.
Funciones
virtuales, clases abstractas y la inversión en la cadena de dependencia
de las estructuras del software. Comparación con lenguajes procedurales.
Relaciones
entre clases, contención por valor y por referencia. Algunas técnicas
de diseño. Uso de “patrones” en
el diseño.
Programación
usando Templates.
Namespace
y la necesidad de incorporación al lenguaje.
Manejo
de errores. Criterios de diseño usando Excepciones.
Introducción
a la STL (Standard Template Library). Programación genérica.
DURACIÓN
Y HORARIOS
La
duración del curso es de 30 horas. El desarrollo
del curso se acuerda con los interesados, pudiendo ser clases semanales para
un desarrollo cuatrimestral; o diarias
para un desarrollo intensivo de una semana.
The C++ programming lenguaje, 3ra edtion, Bjarne Stroustrup
Effective C++ y More effective C++, Scott Meyers
Inside the C++ object model, Stanley Lippman
Annotated reference manual, Stroustrup, Ellis
Effective STL, Scott Meyers
Thinking in C++, Bruce Eckel
The design and evolution of C++, Bjarne Stroustrup
Object Oriented Analysis and Design with Applications, Gredy Booch