Elige tu idioma
Curso de programador de software
Más de 2 millones de estudiantes en todo el mundo

Curso de programador de software

Pase de escribir su primera línea de código a diseñar sistemas de software escalables que empresas reales ponen en producción. Este curso cubre todo, desde conceptos fundamentales de programación y bases de datos hasta APIs, testing y despliegue en la nube. Se graduará con un conjunto de habilidades listo para su portafolio y la profundidad técnica que los empleadores en realidad buscan.

Dedika para empresas

Lo que vas a aprender:

Usted dominará los conceptos fundamentales de programación en los que se basa todo desarrollador profesional, incluyendo variables, flujo de control, funciones y diseño orientado a objetos. Construirá y asegurará APIs RESTful, diseñará bases de datos relacionales y NoSQL, y escribirá pruebas automatizadas en cada nivel de la pirámide de testing. El curso cubre patrones de arquitectura de software, pipelines de DevOps, contenerización con Docker y despliegue en la nube. También aprenderá optimización del rendimiento, prácticas de codificación segura y flujos de trabajo en equipos ágiles. Al finalizar, tendrá las habilidades para contribuir en equipos de ingeniería reales y el portafolio para demostrarlo.

Cómo estudias de forma práctica Curso de programador de software

Cómo practicas Curso de programador de software

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.

Haz clic aquí

Contenido del curso

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

Capítulo 1Ver detalles

Fundamentos de Programación y Configuración del Entorno

  • Lección 1 • Configuración de su Entorno de Desarrollo

    Instala y configura un editor de código, un entorno de ejecución y un gestor de paquetes. Garantiza que cada estudiante tenga un espacio de trabajo idéntico y reproducible antes de escribir cualquier código.

  • Lección 2 • Competencia en la Línea de Comandos

    Enseña navegación, manipulación de archivos y gestión de procesos en un terminal de comandos. La fluidez en la línea de comandos acelera cada flujo de trabajo posterior en el curso.

  • Lección 3 • Control de Versiones con Git

    Presenta Git como la herramienta estándar de la industria para el seguimiento de cambios y la colaboración. Los estudiantes realizan commits, crean ramas y envían código al finalizar esta sección.

  • Lección 4 • Cómo Ejecutan Código los Computadores

    Cubre los ciclos de instrucción de la CPU, la jerarquía de memoria y el rol de los sistemas operativos. Establece el contexto de hardware que explica cada concepto de nivel superior en el curso.

Capítulo 2Ver detalles

Conceptos Básicos de Programación

  • Lección 1 • Colecciones y Patrones de Iteración

    Introduce arreglos, listas y diccionarios para almacenar datos agrupados. Los estudiantes aplican patrones de iteración para procesar conjuntos de datos reales de manera eficiente.

  • Lección 2 • Variables, Tipos y Operadores

    Explica cómo se almacenan, tipifican y transforman los datos mediante expresiones. Proporciona el vocabulario necesario para leer y escribir cualquier enunciado de código.

  • Lección 3 • Funciones y Código Modular

    Define funciones como unidades de lógica reutilizables y comprobables. El diseño modular reduce la duplicación y es la base de todos los programas más grandes en este curso.

  • Lección 4 • Flujo de Control y Toma de Decisiones

    Cubre condicionales y bucles que dirigen las rutas de ejecución del programa. Los estudiantes implementan lógica de ramificación y algoritmos iterativos desde cero.

  • Lección 5 • Manejo de Errores y Depuración

    Enseña el manejo estructurado de excepciones y técnicas sistemáticas de depuración. Los estudiantes aprenden a leer seguimientos de pila y aislar bugs usando un depurador.

Capítulo 3Ver detalles

Programación Orientada a Objetos

  • Lección 1 • Composición e Inyección de Dependencias

    Contrasta la composición con la herencia e introduce la inyección de dependencias. Los estudiantes aprenden cuándo preferir relaciones "tiene-un" sobre jerarquías "es-un".

  • Lección 2 • Clases y Objetos

    Define las clases como planos y los objetos como instancias con estado y comportamiento. Conecta la sintaxis de OOP con las funciones modulares introducidas en el capítulo anterior.

  • Lección 3 • Herencia y Polimorfismo

    Modela relaciones "es-un" a través de jerarquías de clases y sobreescritura de métodos. Los estudiantes escriben código polimórfico que maneja múltiples tipos a través de una sola interfaz.

  • Lección 4 • Principios de Diseño SOLID

    Aplica cinco principios fundamentales de diseño OOP a ejemplos de código reales. Los estudiantes refactorizan clases mal estructuradas en diseños limpios y mantenibles.

  • Lección 5 • Encapsulamiento y Control de Acceso

    Explica cómo ocultar el estado interno y exponer interfaces controladas. El encapsulamiento previene mutaciones no deseadas y refuerza límites de módulo claros.

Capítulo 4Ver detalles

Estructuras de Datos y Algoritmos

  • Lección 1 • Algoritmos de Ordenamiento y Búsqueda

    Implementa y compara algoritmos clásicos de ordenamiento y búsqueda. Los estudiantes comparan implementaciones y justifican la selección del algoritmo por su complejidad.

  • Lección 2 • Estructuras de Datos Lineales

    Cubre arreglos, listas enlazadas, pilas y colas con sus ventajas y desventajas. Los estudiantes implementan cada estructura e identifican casos de uso apropiados.

  • Lección 3 • Análisis de Complejidad

    Introduce la notación Big-O para medir la eficiencia de los algoritmos. Los estudiantes evalúan el rendimiento del código antes de elegir entre implementaciones competidoras.

  • Lección 4 • Estrategias de Diseño de Algoritmos

    Introduce divide y vencerás, programación dinámica y enfoques voraces. Los estudiantes descomponen problemas complejos en subproblemas resolubles.

  • Lección 5 • Árboles y Grafos

    Explica los modelos de datos jerárquicos y de red utilizados en sistemas reales. Los estudiantes recorren árboles y grafos usando estrategias de búsqueda en profundidad y en anchura.

Capítulo 5Ver detalles

Bases de Datos y Persistencia de Datos

  • Lección 1 • Fundamentos de Bases de Datos Relacionales

    Explica tablas, claves y relaciones como la base de las bases de datos relacionales. Los estudiantes modelan un dominio usando diagramas entidad-relación antes de escribir cualquier SQL.

  • Lección 2 • Integración de Bases de Datos en Código de Aplicación

    Conecta una aplicación a una base de datos usando un ORM y patrones de consulta directa. Los estudiantes construyen una capa de repositorio que abstrae la persistencia de la lógica de negocio.

  • Lección 3 • NoSQL y Almacenes de Documentos

    Contrasta los almacenes de documentos, clave-valor y familias de columnas con las bases de datos relacionales. Los estudiantes eligen el modelo de persistencia correcto para una forma de datos dada.

  • Lección 4 • Lenguaje de Consulta SQL

    Cubre las operaciones SELECT, INSERT, UPDATE, DELETE y JOIN. Los estudiantes escriben consultas que responden preguntas de negocio reales contra un conjunto de datos de muestra.

  • Lección 5 • Transacciones e Integridad de Datos

    Explica las propiedades ACID y cómo las transacciones protegen la consistencia de los datos. Los estudiantes implementan lógica de commit y rollback en el código de la aplicación.

Capítulo 6Ver detalles

Desarrollo Web y APIs

  • Lección 1 • Construcción de una API RESTful

    Diseña e implementa endpoints REST siguiendo convenciones orientadas a recursos. Los estudiantes crean una API CRUD respaldada por la capa de base de datos del capítulo anterior.

  • Lección 2 • Autenticación y Autorización

    Implementa autenticación basada en tokens y control de acceso basado en roles. Los estudiantes aseguran los endpoints para que solo los usuarios autorizados puedan acceder a los recursos protegidos.

  • Lección 3 • Consumo de APIs Externas

    Realiza peticiones HTTP autenticadas a servicios de terceros y maneja las respuestas. Los estudiantes integran una API pública en su aplicación usando buenas prácticas.

  • Lección 4 • HTTP y el Ciclo de Petición Web

    Explica los métodos HTTP, códigos de estado, cabeceras y el modelo petición-respuesta. Este modelo mental sustenta cada API y framework web utilizado más adelante.

  • Lección 5 • Documentación y Versionado de APIs

    Genera documentación interactiva de API y gestiona cambios disruptivos mediante versionado. Una documentación clara reduce la fricción de integración para los consumidores de la API.

Capítulo 7Ver detalles

Pruebas de Software y Aseguramiento de Calidad

  • Lección 1 • Pruebas de Integración y de API

    Prueba las interacciones entre componentes y valida los contratos de API de extremo a extremo. Los estudiantes detectan bugs de integración que las pruebas unitarias no pueden detectar.

  • Lección 2 • Pruebas Unitarias en la Práctica

    Escribe pruebas unitarias aisladas para funciones y clases usando un framework de pruebas. Los estudiantes logran una alta cobertura en los módulos centrales de lógica de negocio.

  • Lección 3 • Desarrollo Guiado por Pruebas

    Aplica el ciclo rojo-verde-refactorizar para guiar el diseño a través de pruebas fallidas. Los estudiantes experimentan cómo TDD produce código más simple y comprobable.

  • Lección 4 • Fundamentos y Estrategia de Pruebas

    Presenta la pirámide de pruebas y las compensaciones de costo-beneficio de cada capa. Los estudiantes planifican una estrategia de pruebas antes de escribir un solo caso de prueba.

  • Lección 5 • Integración Continua y Automatización de Pruebas

    Configura un pipeline de CI que ejecuta pruebas automáticamente en cada commit. Los estudiantes bloquean las fusiones cuando las pruebas fallan, imponiendo puertas de calidad en el flujo de trabajo.

Capítulo 8Ver detalles

Arquitectura de Software y Diseño de Sistemas

  • Lección 1 • Resiliencia y Tolerancia a Fallos

    Diseña sistemas que se degradan con gracia bajo fallos usando cortacircuitos y reintentos. Los estudiantes aplican patrones de resiliencia a la API construida en capítulos anteriores.

  • Lección 2 • Diseño de Escalabilidad y Rendimiento

    Cubre el escalado horizontal, estrategias de caché y balanceo de carga en la etapa de diseño. Los estudiantes identifican cuellos de botella antes de escribir código mediante la planificación de capacidad.

  • Lección 3 • Panorama de Patrones Arquitectónicos

    Examina las arquitecturas en capas, basadas en eventos y de microservicios con sus ventajas y desventajas. Los estudiantes mapean un documento de requisitos a un estilo arquitectónico apropiado.

  • Lección 4 • Práctica de Diseño de Sistemas

    Aplica todos los conceptos arquitectónicos para diseñar un sistema distribuido realista de extremo a extremo. Los estudiantes presentan y defienden sus diseños frente a escenarios de escalabilidad y fallos.

  • Lección 5 • Fundamentos de Diseño Guiado por el Dominio

    Introduce contextos acotados, agregados y lenguaje ubicuo como herramientas de diseño. Los estudiantes particionan un modelo de dominio en módulos cohesivos e independientemente desplegables.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Persona en cambio de trayectoria profesional: quiere una ruta estructurada y alineada con los empleadores hacia el desarrollo de software.

  • Programador autodidacta: tiene vacíos en los fundamentos y necesita un plan de estudios integral.

  • Profesional de TI: da soporte a sistemas de software y quiere migrar a su construcción.

  • Recién egresado: estudió un campo no relacionado y está dando un giro hacia las carreras tecnológicas.

  • Emprendedor: construye productos y quiere colaborar de manera más efectiva con desarrolladores.

  • Programador aficionado: ha terminado tutoriales para principiantes y está listo para profundizar profesionalmente.

Lo que dicen nuestros estudiantes

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 he recomendado 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 saltar 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, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

Principales capacitaciones

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en Colombia?

¿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