Lenguaje C++ Básico

Associated Courses

$3.950

El curso fue diseñado y construido con la finalidad de obtener, una vez finalizado el mismo, los conceptos básicos y necesarios para desarrollar sistemas orientados a objetos. Y poder por medio del mismo lograr comprender la tecnología de objetos por medio del lenguaje de programación C++.
Inserción en el paradigma de Objetos.
Primer nivel del Lenguaje C++. Teoría y Práctica.

Metodología

A través del paradigma orientado a objetos es posible construir sistemas más fáciles de realizar el mantenimiento del código, también permite a estos sistemas adaptarse a los nuevos cambios tecnológicos. Cada nuevo sistema construido con esta metodología puede crear o utilizar bibliotecas o clases creadas por otros sistemas, de esta manera logramos desarrollar en menor tiempo nuevos sistemas y con disminución de grado inseguridad porque las bibliotecas o clases anteriormente diseñadas ya han sido testeadas y controladas. Además permite mayor facilidad en la comunicación para distintos sistemas o subsistemas por medio de clases que actúan como interfaces.
Cada alumno recibirá la guía teórica.
Dentro de la guía se detalla una reseña histórica del lenguaje y una introducción al pensamiento orientado a objetos; además se detalla con más refinamiento los conceptos básicos para soportar un lenguaje orientado a objetos detallados a continuación: Clases, Encapsulamiento, Objetos, Herencia, y Polimorfismo.
También recibirá práctica.
Donde se presenta una serie de ejemplos sin relación entre ellos y nos sirven para poder conceptualizar la metodología planteada. Los mismos son utilizados para poder introducir al alumno en los conceptos teóricos que se estudian en la guía teórica/práctica.
Terminado con un trabajo de campo realizado con clases para definir un sistema de procesamiento de tickets/pasajes de avión.

Carga horaria de actividad: 40 horas.

El curso se dicta en modalidad taller viendo teoría y práctica simultáneamente. Apoyo de las mismas a través de la utilización de medios audiovisuales.
Desarrollo de casos prácticos a los efectos de poder concebir los conocimientos teóricos brindados con la realidad empresarial actual.

Dictado por Marcelo Fabian Grispino

Certificado UTN

Fecha de Inscripción no programada todavía

 

Descripción

Contenidos mínimos

Este curso comienza con una introducción al paradigma orientado a objeto continuando con su introducción implementando los conceptos adquiridos por medio del lenguaje de programación (C++) para el análisis y diseño de sistemas orientados a objetos.

El (C++) es un lenguaje propuesto a mediados de los años  1980 por Bjarme Stroustucp, permite desarrollar y especificar cada una de las partes que componen la construcción de componentes de un sistema alcanzando los: procesos de negocio, funciones del sistema, clases de objetos, esquemas de bases de datos y componente reutilizables. 

Cada componente se centra en un determinado valor agregado y su modo de uso, expresando diferentes vistas del sistema y obteniendo abstracciones para facilitar el mantenimiento del código.

Programa analítico

  1. Prólogo.
  2. Introducción General.
    1. Flexibilidad, Potencia, C/C++.
      1. Primer contacto.
      2. Compilación separada.
    2. Observaciones Previas.
    3. Revolución industrial en el software.
    4. Por qué la orientación a objetos.
    5. Pensando en Objetos.
    6. Abstracción de datos.
    7. Encapsulamiento.
    8. Organización del código (modularidad).
    9. Herencia.
    10. Polimorfismo.
    11. Comprobación de Tipos de Datos.
    12. Concurrencia .
    13. Persistencia.
  3. Clases y Objetos.
    1. Qué es un objeto.
      1. Estado.
      2. Comportamiento.
      3. Identidad.
      4. Estructura.
    2. Qué es una clase.
      1. Definición de una clase en C++.
      2. Control de acceso.
    3. Ejemplificación de una clase Ticket en C++.
      1. Interfaz de la Clase Ticket.
        1. Características de la Clase Ticket (interfaz).
        2. Guardas de inclusión.
      2. Implementación de la Clase Ticket.
        1. Características de la Clase Ticket (implementación).
      3. Uso en un Programa de la Clase Ticket.
        1. Características del main (programa principal).
    4. Métodos.
    5. Mensajes.
    6. Constructores.
    7. Destructores.
    8. Construcción y destrucción.
    9. Funciones inline.
    10. Referencia.
    11. Operadores new y delete.
    12. Punteros a objetos.
    13. Puntero predefinido this.
    14. Variables miembro static.
    15. Funciones miembro static.
    16. Extensión de la Clase Ticket y creación Clase Fecha.
      1. Interfaz de la Clase Fecha.
        1. Características de la Clase Fecha (interfaz).
      2. Implementación de la Clase Fecha.
        1. Características de la Clase Fecha (implementación).
      3. Interfaz de la Clase Ticket.
        1. Características de la Clase Ticket (interfaz).
      4. Implementación de la Clase Ticket.
        1. Características de la Clase Ticket (implementación).
      5. Uso en un Programa de las Clases Ticket y Fecha.
        1. Características del main (programa principal).
    17. Funciones complementarias.
    18. Concepto de visibilidad.
    19. Clase anidadas.
    20. Funciones friend.
  4. Herencia.
    1. Reutilización de código.
    2. Que es una Herencia Simple.
      1. Definición de una herencia de clase en C++.
    3. Principio de sustitución.
    4. Operador de visibilidad en la herencia.
      1. Constructores.
      2. Destructores.
    5. Funciones virtuales.
    6. Clases abstractas.
    7. Conversiones de tipo en objetos derivados.
    8. Navegación en clases derivadas.
    9. Herencia Múltiple.
      1. Problemas de ambigüedad.
      2. Sobrecarga de operadores entre clases bases.
      3. Clases derivadas con clases bases replicadas.
      4. Clases virtuales.
  5. Sobrecarga.
    1. Sobrecarga de Funciones.
    2. Sobrecarga de operadores binarios y monarios.
    3. Prefijos y sufijos.
  6. Polimorfismo.
    1. Ámbito de las funciones virtuales.
    2. Visibilidad de acceso para las funciones virtuales.
    3. Destructores Virtuales.
    4. Funciones Virtuales con Resolución Estática.
    5. Funciones Virtuales Puras y Clases Abstractas.
    6. Constructores virtuales.

Bibliografía

El curso se escribió basándose en varios libros que sirvieron de guía para el mismo. Estos libros son citados para que el alumno tenga referencia y puda consultarlos si lo desea: El Lenguaje de Programación C++ de Bjarme Stroustucp, el cual fue el creador del mismo lenguaje y su libro es muy recomendado para aquellos profesionales que desean trabajar y desarrollar con dicha herramienta, Aplique C++ de Bruce Eckel, Borland C++ manual de bolsillo de Luis Joyanes Aguilar, Programación Orientada a Objetos de Ricardo Devis Botella. Y los libros de diseño orientado a objetos que han sido consultado son: Análisis y Diseño Orientado a Objetos de Grady Booch, el cúal tiene una formación muy interesante y se recomienda mucho su lectura, Análisis y Diseño Orientado a Objetos de James Martin y James J. Odell, Modelado de Objetos con UML de Pierre-Alain Muller y por último UML Gota a Gota de Martin Fowler.

Instrumentos de participación

Se realizará una evaluación de cierre antes de la última clase virtual a cada alumno con el empleo de un múltiple choice y preguntas abiertas para realizar una finalización al curso y por medio de esta herramienta detectar cuales son los temas no asimilados por parte del alumno, y así poder acompañarlo con un asesoramiento adicional para fortalecer los conocimientos. Y en la última clase se finaliza redondeando todos los conceptos adquiridos y se analizan las respuestas de las evaluaciones.

La estructura del curso estará conformada por la teoría suministrada, las clases virtuales, trabajos de campos ejemplificativos para solidificar los saberes expuestos en cada unidad de la temática ofrecida, y una serie de ejercicios prácticos para ser realizados por los alumnos permitiendo afrontar problemáticas graduales y resolviendo distintos desafíos.

Como recurso de extensión se realizarán diferentes planteos de sucesos ocurridos o teorizados para que los alumnos puedan expresar sus experiencias y narraciones escritas según sus propias opiniones.

 Teniendo en cuenta al entorno expresado en los textos brindados por el curso se abordarán propuestas en actividades de integración planteado una serie de cuestionamientos por medio de preguntas a ser completadas por parte de los alumnos.

Se plantean para acompañar al curso autoevaluaciones para contribuir con la enseñanza del contenido ofreciendo posicionamiento de conocimientos adquirido durante su dictado.

Por último deseamos expresar la posibilidad de poder realizar virtualmente las consultas y debates puntuales acerca de cada una de estas actividades propuestas.  

Información

La duración del curso está estimada en 40 horas, con 19 días de 2 horas y 1 clase de 2 horas para redondear todos los conceptos adquiridos y analizar las respuestas de las evaluaciones. Se recomienda esta modalidad así el alumno asimila y robustece los temas visto del curso.