Cursos básicos y avanzados de C++

Cursos de programacion con C++ en República Dominicana Santiago

Cursos certificados en C++

Seguro se preguntaran el porqué este lenguaje tiene similitudes con el C, o por lo menos en nombre, que solo le agrega dos signos de suma. En este caso, es porque C++ es una extensión de C, enfocandose mucho más en la programación orientada a objetos, recordando que C se enfoca en la programación procedural. Aprender C++ nos ayuda bastante debido a que es más secillo de entender que C por este último ser más antiguo y nos puede parecer más anticuado, por lo que C++ se te podría hacer mejor para comenzar.

El plan de estudios CPA: Programación básica en C++ (2.0) esta diseñado para estudiantes con poco o ningún conocimiento previo de programación; estudiantes de K12 programa, escuela secundaria, colegio, universidad, escuela vocacional, y simplemente cualquier persona interesado en aprender los fundamentos de la programación usando el lenguaje C++.
No hay prerequisitos para este curso. El único requisito previo es la capacidad de usar una computadora personal y conocimientos básicos de matemáticas (aritmética básica operaciones como contar, sumar, restar, multiplicar, dividir y exponenciación; orden de operaciones y sistemas numéricos).
Este curso cubre todos los aspectos universales más importantes de la programación de computadoras, la conceptos básicos de programación en el lenguaje de programación C++, así como los fundamentos conceptos y técnicas utilizadas en la programación orientada a objetos. El curso comienza con algunos conceptos básicos universales, sin centrarse en el enfoque objetivo, y se extiende gradualmente a los problemas más avanzados que el estudiante encontrará al usar el enfoque OOP. El curso se divide en dos partes (CPPE1 y CPPE2), cada una dividida en cuatro módulos. Cada estudiante tiene acceso a materiales prácticos de práctica, cuestionarios y evaluaciones. aprender a utilizar las habilidades y los conocimientos adquiridos en el curso e interactuar con algunos tareas y situaciones de programación de la vida real.
El objetivo del curso es familiarizar al alumno con los conceptos universales de informática programación, presentar la sintaxis, la semántica y los tipos de datos básicos del lenguaje C++, discutir los principios del modelo orientado a objetos y su implementación en C++ y demostrar los medios para resolver problemas típicos de implementación con la ayuda de bibliotecas de lenguaje C++ estándar. Durante el curso, los estudiantes cubrirán el siguiente material de estudio:

# Introducción a la compilación y desarrollo de software;
# Tipos de datos escalares básicos, operadores, control de flujo, flujo de entrada/salida, conversiones;
# Declarar, definir e invocar funciones, sobrecarga de funciones;
# Agregados de datos;
# Procesamiento de cadenas, manejo de excepciones, espacios de nombres;
# Enfoque orientado a objetos y su vocabulario;
# Clases y objetos, jerarquía de clases y herencia;
# Definición de operadores sobrecargados, operadores autodefinidos, excepciones;
# Fundamentos de STL. El estudiante que completa C++ Essential Part 1 (CPPE1):
# Conoce los conceptos básicos del sistema de tipos de datos de C++ y es capaz de elegir un tipo adecuado a sus necesidades;
# Piensa algorítmicamente y puede analizar un problema usando programación y aparato conceptual;
# Puede diseñar, desarrollar y mejorar programas simples de procedimiento en C++;
# Puede elegir un tipo de datos adecuado al problema que se está resolviendo y usar el flujo adecuado medios de control;
# Entiende el trabajo de un programador en el proceso de desarrollo de software y el papel de las herramientas fundamentales de desarrollo;
# Sabe cómo se compila y ejecuta un programa en una computadora real medioambiente;
# Puede crear y desarrollar su propia cartera de programación.
Equipos recomendados y requisitos técnicos para utilizar Edube Interactive:
# Una computadora de escritorio o una computadora portátil (recomendado: una computadora de escritorio con ratón/dispositivo señalador y teclado)
# RAM mínima: 1 GB o más;
# Procesador mínimo: 1,0 GHz o más;
# La versión más reciente de Mozilla Firefox, Microsoft Edge, Google Chrome, Safari, Opera (preferido: Google Chrome)
# JavaScript habilitado en su navegador (requisito obligatorio)
# Una conexión a Internet rápida y estable (velocidad de descarga de Internet recomendada: 1.0 Mbps o superior; velocidad de carga de Internet recomendada: 0,5 Mbps o superior)
# Un monitor a color, resolución mínima de pantalla: 640 por 480 píxeles (recomendado: 1024 por 768 píxeles)
# Sistema operativo Windows 7/8/10, MacOS X 10.0x o posterior, sistema operativo Linux;
# Incluir en la lista blanca los dominios “*.edube.org” y “*.openedg.org”
# Acceso completo a través de los puertos 80 (http), 443 (https) y redirecciones http permitidas.
Módulo 0 Instalación y uso de su entorno de programación

# ¿Qué es un IDE?
# Cómo elegir un IDE.
# Edube Interactive®
(EI): una alternativa en línea a un IDE independiente.

Módulo 1 Introducción a la programación informática

# Lenguaje natural vs lenguaje de programación, elementos de un lenguaje.
# Lenguaje máquina, compilador y compilador, enlazador y enlazador.
# “Hola mundo” – su primer programa en C++.
# Número entero, flotantes y sus literales.
# Declaración de variables: tipos, nombres e inicializaciones.
# Palabras clave de C++: ¿para qué sirven?
# Comentarios en C++.
# Operadores aritméticos, prioridades y vinculaciones, construcción de expresiones, uso de atajos.
# El tipo char, fundamentos de la codificación ASCII, caracteres literales, escape caracteres.
# Operadores condicionales, el tipo bool y sus literales.
# Tomando control sobre el flujo de ejecución – la instrucción if-else.
# Facilidades básicas de entrada/salida: cin y cout streams, manipuladores.
# Conversiones de tipos de datos básicos y el operador static_cast.

Módulo 2 Control de flujo avanzado y agregados de datos

# Ampliación de las capacidades de instrucción if con la cláusula else, anidamiento condicional instrucciones.
# Más tipos de datos int y float: long, short, unsigned, double y long double.
# Anomalías numéricas: por qué los flotadores pueden ser tan poco confiables.
# Bucles: ¿por qué los necesitamos y cómo simplifican la vida de un programador?
# Los ciclos while, do y for – similitudes y diferencias.
# Algunos algoritmos simples y sus implementaciones.
# Controlar el flujo de ejecución dentro de los bucles: las instrucciones de interrupción y continuación.
# Conceptos básicos de lógica informática, operadores lógicos y bit a bit, que tratan con un solo bit Expresar.
# Ramificación del flujo de ejecución: la instrucción switch-case-default como alternativa a la cascada if-else.
# Vectores: ¿cuándo los necesitamos y por qué no podemos vivir sin ellos?
# Declarar, inicializar y usar vectores unidimensionales, el operador de indexación, métodos vectoriales básicos.
# La plantilla de vector frente a las declaraciones de matrices obsoletas.
# Matrices multidimensionales: declaración, inicialización e indexación.
# Estructuras, su concepto, función y ámbito de aplicación.
# Declarar, inicializar y utilizar estructuras, construir vectores de estructuras.

Módulo 3 Extendiendo el poder expresivo: punteros, funciones y memoria

# Punteros de C++: el concepto, rol y propósito.
# Declarar, inicializar y asignar punteros, el símbolo nullptr y su función.
# La referencia, la desreferencia y el tamaño de los operadores.
# Punteros vs vectores º Semejanzas y diferencias.
# La aritmética de punteros, comparando punteros.
# La función: qué es y cómo las funciones ayudan al programador a mantener el código limpio.
# Declarar, definir e invocar funciones: parámetros frente a argumentos y resultados, el tipo de vacío y su propósito, efectos secundarios.
# Pasar convenciones de parámetros: por valor, por referencia, por puntero.
# Parámetros por defecto: declaración y uso.
# Función prólogo y epílogo, función en línea, funciones en línea, sobrecargado funciones
# Escribir y probar funciones de diversa complejidad.
# El operador ternario y su uso.
# El algoritmo de clasificación Bubble y su implementación de ejemplo en C++.
# Memoria a pedido: las palabras clave nuevas y eliminadas.

Módulo 4 Acceder a diferentes tipos de datos

# Matrices de punteros: su propósito, declaración, inicialización y uso.
# Conversiones de tipos de datos automáticos frente a implícitos: encasillamiento, exactitud, precisión y promoción.
# Cadenas C++: concepto e implementación, literales de cadena.
# Declarar y usar cadenas: inclusiones requeridas, inicializaciones, operadores de cadena, leyendo cadenas de cin.
# Comparación de cadenas usando operadores C++ incorporados y con la ayuda de cadenas funciones de miembro.
# Tratar con cadenas: extraer subcadenas, determinar la longitud de la cadena y tamaño real, comparar subcadenas, encontrar subcadenas dentro de cadenas, controlar el el tamaño de la cadena, agregar una cadena/carácter a una cadena, insertar una cadena en una cadena, etc.
# Espacios de nombres C++: concepto, rol y propósito.
# Introducción, uso, expansión y cambio de nombre de espacios de nombres definidos por el usuario.
# Espacios de nombres anónimos frente a espacios de nombres con nombre.

A partir de aquí, mostraremos detalles del curso avanzado:

Como dijimosanteriormente, C++ es una extensión de C, por lo que si tienes buen dominio de este lenguaje puedes pasar directamente a este curso, o si bien conoces mejor c++. en este curso veremos programas más robustos desarrollados en c++, funciones avanzadas del mismo y el como desarrollar y organizar correctamente estos programas.

Haber concluido el curso básico o completar un pequeño test para corroborar tus abilidades con C++.

El estudiante que completa C++ avanzado:
# Está familiarizado con los conceptos fundamentales de programación orientada a objetos y su implementación en C++;
# Piensa algorítmicamente y puede analizar y modelar un problema usando un objetivo aparato conceptual;
# Desarrolla y construye con éxito jerarquías de clases adecuadas al problema que se está resuelto;
# Diseña, desarrolla y mejora programas C++ usando clases y objetos, y construye rutas de herencia adecuadas;
# Entiende el trabajo de un programador en el proceso de desarrollo de software y el papel de las herramientas fundamentales de desarrollo;
# Conoce el ciclo de vida del objeto y entiende cómo funcionan las clases y los objetos en un entorno informático real;
# Puede crear y desarrollar su propia cartera de programación.
Módulo 1 Los fundamentos de la Programación Orientada a Objetos (POO)

# Conceptos básicos de POO: identificación de objetos en la vida real, clases, subclases y superclases, herencia, objetos de clase, atributos de objeto y actividades.
# Enfoque procedimental vs. objeto: cómo el enfoque objetivo neutraliza algunos de amenazas procesales?
# Implementar una pila de enteros de muestra utilizando enfoques de procedimiento y de objeto en para demostrar las principales técnicas y trucos de programación orientada a objetos.
# Anatomía de la clase: componentes de clase, comportamientos y rasgos.

Módulo 2 Herencia

# Jerarquías de clases: clases, subclases y superclases, diagramas de clases, overriding.
# Cómo funciona la herencia y cómo expresar interdependencias de clases en C++ código.
# Polimorfismo – concepto e implementaciones en C++.
# Constructores y destructores de clases: definición y uso, predeterminados e implícitos. y constructores de copia explícita.
# Especificadores de acceso vs. herencia.
# Métodos virtuales y no virtuales.
# Pasar objetos como argumentos de función.
# Componentes de clase estática y cómo acceder a ellos.
# Encasillamiento dinámico objetivo: operadores static_cast vs. dynamic_cast.
# La palabra clave const y cómo afecta el comportamiento de la clase: variables const, estructuras, punteros, parámetros y resultados de funciones miembro, campos de clase.
# La palabra clave amigo: clases y funciones amigas en C++.

Módulo 3 Excepciones

# Introducción a las excepciones: concepto y justificación, incluye requerido.

# La instrucción try-catch, sus variantes y comportamiento, manejando diferentes clases de excepciones

# La instrucción throw, creando objetos de excepción, la cláusula noexcept.
# El especificador explícito y cómo afecta el comportamiento de la clase.
# Categorías y jerarquías de excepciones de C++, distribución del manejo de excepciones, ramificar y ordenar capturas, la función what().
# Definición, lanzamiento, captura y uso de excepciones definidas por el usuario.

Módulo 4 Operadores y tipos enumerados

# Sobrecarga de operadores en C++: concepto y limitaciones.
# Introducción de operadores definidos por el usuario en código C++: convenciones de sintaxis y operador comportamiento.
# Posibles técnicas de sobrecarga del operador así como prácticas prohibidas.
# Definición de un conjunto de muestra de operadores para la clase LIFO.
# Una descripción general de los operadores binarios y unarios de C++ sobrecargables.
# Implementar una clase de fracción de muestra con un conjunto de operadores dedicados.
# Tipos enumerados en C++: la idea y su propósito.
# Declarar tipos enumerados definidos por el usuario y cómo tratarlos.

Para más información de tanto el curso básico como el avanzado:

Puedes contactarnos por privado para saber otros detalles sobre el curso, en el siguiente botón: