
Curso de programación en C/C++
Dominá C y C++ desde cero, abarcando desde la memoria cruda y los punteros hasta las características modernas de C++20, patrones de diseño y sistemas concurrentes. Este curso te da la profundidad técnica que los desarrolladores profesionales y los ingenieros de sistemas realmente usan en el trabajo. Ya sea que apuntes a firmware embebido, aplicaciones de alto rendimiento o entrevistas técnicas, vas a salir con habilidades reales y listas para producción.
Qué vas a aprender:
Vas a construir 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 las características modernas de C++17/20. El curso cubre estructuras de datos y algoritmos implementados desde cero, dándote las habilidades de resolución de problemas necesarias para entrevistas técnicas y trabajo en sistemas. También vas a aprender a usar herramientas estándar de la industria, como CMake, GDB, Google Test y analizadores estáticos. Los temas de programación a nivel de sistemas y embebidos te preparan para el desarrollo de firmware y de bajo nivel. Al finalizar, vas a estar equipado para diseñar, construir y entregar software robusto en C++ en entornos profesionales.
Cómo estudiás de forma práctica Curso de programación en C/C++
Cómo practicás Curso de programación en C/C++
Para vos que sos empresa y querés 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 detallesEntorno de C/C++ y aspectos básicos de sintaxis
Entorno de C/C++ y aspectos básicos de sintaxis
Lección 1 • Variables, tipos y literales
Introduce los tipos de datos primitivos, la declaración de variables y los valores literales. Dominar esto permite una representación correcta de los datos a lo largo del curso.
Lección 2 • Fundamentos de entrada y salida
Enseña 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 escribir expresiones necesaria para todo el flujo de control y los algoritmos.
Lección 4 • Sintaxis central 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
Instalar y configurar compiladores, editores y herramientas de build para C/C++. Proporciona la base técnica de la que depende cada capítulo subsiguiente.
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, las definiciones y la mecánica de llamada a funciones en C/C++. Establece los principios de diseño modular usados 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 comportamiento de la pila. Prepara a los estudiantes para 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. Habilita directamente programas basados en lógica sobre los que se construye en cada capítulo subsiguiente.
Lección 5 • Bucles e iteración
Enseña los 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 arreglos de caracteres terminados en nulo y funciones de la biblioteca estándar 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, inicialización y patrones de acceso a elementos de arreglos. Los arreglos son la base de 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 • Aspectos básicos de punteros y aritmética de direcciones
Introduce la declaración, desreferencia y aritmética de punteros. Los punteros son centrales 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 subsiguientes.
Lección 2 • Campos de bits y datos empaquetados
Introduce miembros de struct de campo de bits para representación compacta de datos. Relevante para el parseo de protocolos y el mapeo de registros de hardware en temas avanzados.
Lección 3 • Punteros a estructuras
Enseña el acceso a structs por puntero y la asignación dinámica de structs. Habilita 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, el almacenamiento solapado y los casos de uso válidos. Proporciona una visión de la memoria de bajo nivel relevante para la programación de sistemas y embebidos.
Lección 5 • Definición y uso de estructuras
Cubre la declaración de struct, el acceso a miembros y los 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. Habilita 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. Construye las habilidades de diseño de jerarquías necesarias para el polimorfismo.
Lección 3 • Encapsulamiento y principios de diseño
Aplica principios SOLID y estrategias de encapsulamiento al diseño de clases. Prepara a los estudiantes para escribir código C++ mantenible y testeable 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 todas las características de POO en este capítulo extienden.
Capítulo 6OcultarOcultar detallesVer detallesTemplates, STL y programación genérica
Templates, STL y programación genérica
Lección 1 • Algoritmos STL
Cubre sort, find, transform, accumulate y otros algoritmos estándar. Aplicar algoritmos STL reemplaza los bucles manuales propensos a errores en el código de producción.
Lección 2 • Templates de función y de clase
Cubre la sintaxis de templates, parámetros de tipo e instanciación de templates. 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 sus 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, capturas y objetos functor de lambda para usar con STL. Habilita la personalización concisa y expresiva de algoritmos 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 pérdidas de recursos en condiciones excepcionales.
Lección 2 • RAII y propiedad de recursos
Explica el modismo RAII y cómo los constructores/destructores aseguran la seguridad de recursos. RAII es la base de toda gestión segura de recursos en C++ moderno.
Lección 3 • Punteros inteligentes en profundidad
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 que poseen recursos.
Lección 5 • Debugging de memoria y profiling
Introduce herramientas para detectar pérdidas, accesos inválidos y corrupción del heap. Las habilidades de profiling 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 • Multihilo 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 • Interfaces de proceso y 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 • Aspectos básicos 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 condiciones de carrera
Cubre mutexes, variables de condición y operaciones atómicas para prevenir condiciones de carrera. 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 vos:
Estudiantes de ciencias de la computación: que buscan profundidad práctica más allá de lo que suelen ofrecer las aulas.
Desarrolladores de Python o JavaScript: listos para entender qué pasa debajo de la capa de abstracción.
Ingenieros electrónicos: que necesitan habilidades en C para escribir y mantener firmware para proyectos de hardware.
Personas que cambian de carrera: que apuntan a roles de sistemas o embebidos que requieren fluidez en programación de bajo nivel.
Desarrolladores de videojuegos: que quieren optimizar código crítico de rendimiento escrito en C o C++.
Programadores autodidactas: que están construyendo la base rigurosa que exigen 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... les agradezco por todo lo que hacen, ya los recomendé a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltear 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 Argentina?
¿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




















