Lenguaje de programación C++
Presentación
La utilización de la orientación a objetos permite el desarrollo de aplicaciones que cada día se hace más común, debido a las facilidades que esta proporciona, sin embargo la elección de la herramienta (lenguaje) que se utilizará es un punto que debe ser tomado en cuenta, ya que si no permite aplicar los conceptos de la orientación a objetos, todo el trabajo de análisis y diseño no habrá servido.
C++ es un potente lenguaje de programación compilado y orientado a objetos que permite programar compiladores, sistemas operativos, juegos, procesadores de texto, aplicaciones de bases de datos etc. Hoy en día uno de los principales lenguajes para la programación de aplicaciones y sistema completos.
OBJETIVO
El participante identificará los aspectos fundamentales de la programación orientada a objetos y desarrollará programas de propósito general, robustos y de calidad, para poner en práctica los conceptos, técnicas y metodologías aprendidas.
PERFIL DE INGRESO
El curso está dirigido a toda persona que desee elaborar aplicaciones en C++ utilizando las técnicas de programación orientadas a objetos.
Los interesados deberán:
- Haber acreditado o demostrar conocimiento equivalentes al curso Introducción a la programación.
- Contar con una cuenta de correo activa y acceso a Internet para conectarse al sitio del curso.
- Disponer de al menos 10 horas a la semana para revisar a fondo los contenidos y realizar las actividades de cada tema.
TEMARIO
- INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS
- Definición de programa
- Programación modular y estructurada
- CASE
- Manejo de la información
- Enfoque orientado a objetos
- Objetos de software
- Mensajes
- Clases
- Creando patrones con clases
- Heredando información de la clase
- Jerarquía de Clases
- Polimorfismo
- Programando con objetos
- Tipos de datos abstractos
- Implementación de tipos de datos abstractos
- EL AMBIENTE DE DESARROLLO
- Editor
- Compilador
- Depurador
- Otros componentes del ambiente de desarrollo
- TIPOS DE DATOS Y OPERADORES
- Fundamentales y derivados
- Derivados
- FUNCIONES
- Introducción
- Prototipos
- Definición
- Paso de punteros a funciones
- Paso de arreglos a funciones
- Argumentos a main( )
- Llamada por valor vs llamada por referencia
- Paso de argumentos por valor
- Paso de argumentos por referencia mediante el empleo de punteros
- Parámetros por referencia
- Devolución por referencia
- Restricciones en el uso de referencias
- Sobrecarga de funciones
- Argumentos por defecto de una función.
- CLASES
- Introducción
- Definición
- Alcance de clase y acceso a miembros
- Separación de la interfase y a implementación
- Control de acceso a miembros
- Constructores
- Constructores por argumentos por default
- Destructores
- Usando miembros datos y miembros función
- Objetos constantes y funciones miembro constantes
- Funciones y clases amiga
- Apuntadores this
- Memoria dinámica
- Miembros estáticos
- SOBRECARGA DE OPERADORES
- Introducción
- Fundamentos de la sobrecarga de operadores
- Restricciones en la sobrecarga de operadores
- Función operador como miembros de clase vs funciones amigas
- Sobrecarga de operadores de inserción de flujo y extracción de flujo
- Sobrecarga de operadores unarios
- Sobrecarga de operadores binarios
- Conversión entre tipos
- Sobrecarga de operadores ++ y -.
- HERENCIA
- Introducción
- Clases base y derivados
- Miembros protegidos
- Conversión forzada de apuntadores de clase base a apuntadores de clase derivada
- Funciones miembro
- Sobreponiendo miembros de clase base en una clase derivada
- Herencia pública, privada y protegida
- Clase base directa y clase base indirecta
- Constructores y desconstructores en clases derivadas
- Conversión implícita de objetos de clase derivada a objetos de clase base
- Composición contra herencia
- Herencia múltiple
- FUNCIONES VIRTUALES Y POLIMORFISMO
- Introducción
- Tipo de campos y proposiciones switch
- Funciones virtuales
- Clases concretas y clases abstractas
- Polimorfismo
- Nuevas clases y ligado dinámico
- Destructores virtuales
- Polimorfismo, funciones virtuales y ligado dinámico
- Manejo de archivos de acceso aleatorio
DURACIÓN
El curso tiene una duración de 6 semanas, equivalente a 40 horas.
FORMA DE TRABAJO
- Antes de inscribirse al curso deberá contestar el cuestionario diagnóstico. Es obligatorio presentarlo y no afecta su calificación final.
Deberá obtener al menos 75% de respuestas correctas, en caso contrario, es su decisión continuar con el curso y adquirir los conocimientos requeridos por su cuenta. Le recordamos que para un mejor desempeño dentro del curso, es necesario tener un buen dominio de los requisitos previos.
- Al inicio de cada bloque estarán disponibles los recursos y actividades para los temas, incluyendo ejercicios y prácticas que deberá realizar al final de cada bloque, en las fechas señaladas en cada una de ellas.
- El curso consta de ocho temas los cuales deberán ser revisados en un lapso máximo de seis semanas. El usuario es responsable de distribuir su tiempo para estudiar los temas que le corresponden en el periodo indicado.
- Las prácticas o ejercicios que se pidan en cada unidad se entregarán al instructor vía correo electrónico al finalizar el estudio del tema correspondiente.
- Para todas las actividades que se indiquen a lo largo del desarrollo del curso, el participante contará con la asistencia de un asesor ya sea por medio del foro o por correo electrónico.
- En cada tema se abrirá un foro de discusión relacionado con el mismo, en el cual deberá participar según se solicite.
EVALUACIÓN
- La calificación mínima aprobatoria es de 8.0.
- El lapso máximo para aprobar todos los temas es de seis semanas contadas a partir del inicio del curso.
- La evaluación se compone de los siguientes puntos:
Ejercicios, prácticas y tareas |
50% |
Cuestionario |
20% |
Participación en foros |
10% |
Práctica final |
20% |
REQUERIMIENTOS MÍNIMOS
Deberá tener disponible un equipo de cómputo con las siguientes características:
HARDWARE:
- Procesador Pentium 4 superior.
- Memoria RAM instalada de 512MB o superior.
- Espacio en el disco duro de al menos 500MB para la instalación de los programas y archivos de trabajo.
- Monitor con una resolución de 1024x768 o superior.
SOFTWARE:
- Microsoft Windows XP o superior; Linux o UNIX.
- Para la elaboración de algunas prácticas, es necesario contar con un compilador de C++. Puede utilizar el compilador de Borland o descargar Dev-C++
- Un navegador (Microsoft Explorer, Mozilla Firefox, etc.), es recomendable utilizar las versiones más actuales.
- Adobe Acrobat Reader u otro software libre para abrir los archivos PDF.
- Para los videos requiere tener instalados Adobe Flash Player. Puede bajarlo del sitio de Adobe.