Elige tu idioma
Curso de programación en C/C++
Más de 2 millones de estudiantes en todo el mundo

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.

Dedika para empresas

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.

Hacé clic acá

Contenido del curso

8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

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 2Ver detalles

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 3Ver detalles

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 4Ver detalles

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 5Ver detalles

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 6Ver detalles

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 7Ver detalles

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 8Ver detalles

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.

Certificación

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...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltear contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompts

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