
Curso de Programación en C/C++
Domina C y C++ desde cero, cubriendo desde memoria en bruto y punteros hasta características modernas de C++20, patrones de diseño y sistemas concurrentes. Este curso te brinda la profundidad técnica que los desarrolladores profesionales e ingenieros de sistemas realmente usan en el trabajo. Ya sea que te enfoques en firmware embebido, aplicaciones de alto rendimiento o entrevistas técnicas, saldrás con habilidades reales y listas para producción.
Lo que vas a aprender:
Construirás una base completa en sintaxis de C y C++, gestión de memoria y programación orientada a objetos antes de avanzar a plantillas, la Biblioteca de Plantillas Estándar y características modernas de C++17/20. El curso cubre estructuras de datos y algoritmos implementados desde cero, brindándote las habilidades de resolución de problemas necesarias para entrevistas técnicas y trabajo de sistemas. También aprenderás a usar herramientas estándar de la industria como CMake, GDB, Google Test y analizadores estáticos. Los temas de programación embebida y a nivel de sistemas te preparan para firmware y desarrollo de bajo nivel. Al finalizar, estarás capacitado para diseñar, construir y entregar software robusto en C++ en entornos profesionales.
Cómo estudias de forma práctica Curso de Programación en C/C++
Cómo practicas Curso de Programación en C/C++
Para ti que eres empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos del entorno y sintaxis de C/C++
Fundamentos del entorno y sintaxis de C/C++
Lección 1 • Variables, tipos y literales
Introduce los tipos de datos primitivos, la declaración de variables y los valores literales. El dominio aquí permite una representación correcta de datos a lo largo del curso.
Lección 2 • Fundamentos de entrada y salida
Enseña la E/S por consola usando printf/scanf en C y cin/cout en C++. Permite crear programas interactivos requeridos en cada ejercicio práctico.
Lección 3 • Operadores y expresiones
Cubre operadores aritméticos, relacionales, lógicos y bit a bit con reglas de precedencia. Desarrolla la habilidad de escritura de expresiones necesaria para todo el flujo de control y algoritmos.
Lección 4 • Sintaxis básica y estructura del programa
Cubre tokens, sentencias, bloques y la anatomía de un archivo fuente de C/C++. Se conecta directamente con la escritura de cualquier programa válido en capítulos posteriores.
Lección 5 • Configuración del entorno de desarrollo
Instala y configura compiladores, editores y herramientas de compilación para C/C++. Proporciona la base técnica de la que depende cada capítulo posterior.
Capítulo 2OcultarOcultar detallesVer detallesFlujo de control y funciones
Flujo de control y funciones
Lección 1 • Declaración y definición de funciones
Introduce los prototipos de función, las definiciones y la mecánica de llamada en C/C++. Establece los principios de diseño modular que se usan a lo largo del curso.
Lección 2 • Ámbito, tiempo de vida y clases de almacenamiento
Explica las variables locales, globales y estáticas y sus tiempos de vida. Previene errores comunes relacionados con variables no inicializadas o con ámbito incorrecto.
Lección 3 • Fundamentos de recursión
Cubre el diseño de funciones recursivas, casos base y el comportamiento de la pila. Prepara para los algoritmos y estructuras de datos recursivos en capítulos posteriores.
Lección 4 • Sentencias condicionales
Cubre las construcciones if, else-if y switch para la toma de decisiones. Permite directamente los programas basados en lógica que se desarrollan en cada capítulo posterior.
Lección 5 • Bucles e iteración
Enseña bucles for, while y do-while junto con sentencias de control de bucle. La iteración es la columna vertebral de los algoritmos y el procesamiento de datos que se cubren más adelante.
Capítulo 3OcultarOcultar detallesVer detallesArreglos, cadenas y punteros
Arreglos, cadenas y punteros
Lección 1 • Cadenas estilo C y funciones de cadena
Enseña los arreglos de caracteres terminados en nulo y las funciones estándar de la biblioteca de cadenas. Proporciona la base de cadenas C necesaria antes de introducir std::string de C++.
Lección 2 • Asignación dinámica de memoria
Enseña malloc/free en C y new/delete en C++ para la gestión del heap. Sienta las bases para las estructuras de datos dinámicas que se cubren en el próximo capítulo.
Lección 3 • Arreglos unidimensionales y multidimensionales
Cubre la declaración de arreglos, la inicialización y los patrones de acceso a elementos. Los arreglos sustentan casi todas las estructuras de datos que se introducen más adelante en el curso.
Lección 4 • Punteros y funciones
Cubre el paso de punteros a funciones y el retorno seguro de punteros. Permite la manipulación eficiente de datos sin copias innecesarias.
Lección 5 • Fundamentos de punteros y aritmética de direcciones
Introduce la declaración de punteros, desreferencia y aritmética de punteros. Los punteros son fundamentales para la memoria dinámica y la programación de bajo nivel en capítulos posteriores.
Capítulo 4OcultarOcultar detallesVer detallesEstructuras, uniones y enumeraciones
Estructuras, uniones y enumeraciones
Lección 1 • Enumeraciones y alias de tipo
Cubre enums de C, enum class de C++ y declaraciones typedef/using. Mejora la claridad del código y la seguridad de tipos en todos los proyectos posteriores.
Lección 2 • Campos de bits y datos empaquetados
Introduce miembros struct de campo de bits para una representación compacta de datos. Relevante para el análisis de protocolos y el mapeo de registros de hardware en temas avanzados.
Lección 3 • Punteros a estructuras
Enseña el acceso a estructuras basado en punteros y la asignación dinámica de estructuras. Permite las estructuras de datos enlazadas que se construyen en el capítulo de algoritmos.
Lección 4 • Uniones y compartición de memoria
Explica la semántica de uniones, almacenamiento superpuesto y casos de uso válidos. Proporciona información de memoria de bajo nivel relevante para programación embebida y de sistemas.
Lección 5 • Definición y uso de estructuras
Cubre la declaración de structs, el acceso a miembros y structs anidados. Las estructuras son el precursor directo de las clases de C++ que se introducen en el próximo capítulo.
Capítulo 5OcultarOcultar detallesVer detallesProgramación orientada a objetos en C++
Programación orientada a objetos en C++
Lección 1 • Polimorfismo y funciones virtuales
Introduce funciones virtuales, funciones virtuales puras y clases abstractas. Permite patrones de despacho en tiempo de ejecución centrales para el diseño de software extensible.
Lección 2 • Herencia y jerarquías de clases
Cubre herencia simple y múltiple, acceso a clase base y encadenamiento de constructores. Desarrolla las habilidades de diseño de jerarquías necesarias para el polimorfismo.
Lección 3 • Encapsulación y principios de diseño
Aplica principios SOLID y estrategias de encapsulación al diseño de clases. Prepara para escribir código C++ mantenible y comprobable en capítulos avanzados.
Lección 4 • Sobrecarga de operadores
Enseña la sobrecarga de operadores aritméticos, de comparación y de flujo para tipos personalizados. Permite una sintaxis intuitiva para clases definidas por el usuario que se usan en proyectos posteriores.
Lección 5 • Clases y objetos
Cubre la declaración de clases, especificadores de acceso e instanciación de objetos. Establece el modelo de clase que extienden todas las características de POO en este capítulo.
Capítulo 6OcultarOcultar detallesVer detallesPlantillas, STL y programación genérica
Plantillas, STL y programación genérica
Lección 1 • Algoritmos STL
Cubre sort, find, transform, accumulate y otros algoritmos estándar. La aplicación de algoritmos STL reemplaza los bucles manuales propensos a errores en código de producción.
Lección 2 • Plantillas de función y clase
Cubre la sintaxis de plantillas, parámetros de tipo y creación de instancias de plantillas. Las funciones y clases genéricas reducen la duplicación de código en todos los proyectos futuros.
Lección 3 • Contenedores STL
Introduce vector, list, deque, map, set y variantes no ordenadas. Elegir el contenedor correcto es crítico para el rendimiento en el diseño de algoritmos.
Lección 4 • Expresiones lambda y functores
Introduce la sintaxis lambda, capturas y objetos functor para usar con STL. Permite la personalización de algoritmos concisa y expresiva en C++ moderno.
Lección 5 • Iteradores y rangos
Enseña categorías de iteradores, aritmética de iteradores y bucles for basados en rango. Los iteradores son la interfaz universal entre contenedores y algoritmos.
Capítulo 7OcultarOcultar detallesVer detallesGestión de memoria y seguridad de recursos
Gestión de memoria y seguridad de recursos
Lección 1 • Manejo de excepciones y seguridad
Cubre try/catch/throw, jerarquías de excepciones y garantías de seguridad ante excepciones. El manejo robusto de errores previene fugas de recursos en condiciones excepcionales.
Lección 2 • RAII y propiedad de recursos
Explica el modismo RAII y cómo los constructores/destructores imponen la seguridad de recursos. RAII es la base de toda gestión segura de recursos en C++ moderno.
Lección 3 • Punteros inteligentes a fondo
Cubre la semántica y patrones de uso de unique_ptr, shared_ptr y weak_ptr. Los punteros inteligentes eliminan las llamadas manuales a delete y previenen errores de propiedad.
Lección 4 • Semántica de copia y movimiento
Enseña constructores de copia, asignación de copia, constructores de movimiento y asignación de movimiento. La Regla de Cinco gobierna el diseño correcto de clases propietarias de recursos.
Lección 5 • Depuración y perfilado de memoria
Presenta herramientas para detectar fugas, accesos no válidos y corrupción del heap. Las habilidades de perfilado son esenciales para mantener código C++ de calidad de producción.
Capítulo 8OcultarOcultar detallesVer detallesE/S de archivos, concurrencia y programación de sistemas
E/S de archivos, concurrencia y programación de sistemas
Lección 1 • Multiprocesamiento por hilos con std::thread
Enseña la creación, unión y separación de hilos usando la biblioteca de hilos de C++11. Los fundamentos de concurrencia permiten el diseño de programas paralelos en este capítulo.
Lección 2 • Procesos e interfaces de sistema
Introduce la creación de procesos, variables de entorno y llamadas al sistema. Proporciona el contexto a nivel de SO necesario para escribir programas C a nivel de sistemas.
Lección 3 • Fundamentos de redes y sockets
Introduce la API de sockets BSD para comunicación TCP/UDP en C/C++. Las habilidades de redes extienden las aplicaciones C/C++ a contextos distribuidos y cliente-servidor.
Lección 4 • Sincronización y carreras de datos
Cubre mutexes, variables de condición y operaciones atómicas para prevenir carreras de datos. La sincronización segura es obligatoria para programas concurrentes correctos.
Lección 5 • E/S de archivos en C y C++
Cubre fopen/fclose en C y fstream en C++ para leer y escribir archivos. La E/S de archivos es necesaria para la persistencia de datos en todos los proyectos finales.
Tu certificado válido de finalización
Este curso es para ti:
Estudiantes de ciencias de la computación: que buscan profundidad práctica más allá de lo que las aulas suelen ofrecer.
Desarrolladores de Python o JavaScript: listos para entender qué sucede debajo de la capa de abstracción.
Ingenieros eléctricos: que necesitan habilidades en C para escribir y mantener firmware para proyectos de hardware.
Personas en cambio de carrera: que apuntan a roles de sistemas o embebidos que requieren fluidez en programación de bajo nivel.
Desarrolladores de videojuegos: que desean optimizar código crítico de rendimiento escrito en C o C++.
Programadores autodidactas: que construyen la base rigurosa que demandan lenguajes estructurados como C.
Lo que dicen nuestros alumnos
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en México?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















