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.
# 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.
# 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.
# ¿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++.
# 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.
# 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.