
Curso de programación en Rust desde cero
Rust está redefiniendo cómo los desarrolladores escriben software seguro, rápido y confiable, y este curso te da la base completa para dominarlo. Desde la propiedad y el préstamo hasta la programación asíncrona y las APIs web, cada concepto central se cubre con precisión. Ya sea que estés creando herramientas CLI, servicios web o software de sistemas, te vas a ir con habilidades reales de Rust listas para producción.
Qué vas a aprender:
Configurar un entorno de desarrollo profesional de Rust usando rustup, Cargo y herramientas esenciales.
Entender el modelo de propiedad de Rust, las reglas de préstamo y las anotaciones de tiempo de vida para evitar errores de memoria.
Construir tipos de datos personalizados con structs, enums y traits para modelar dominios complejos del mundo real.
Aplicar el manejo de errores basado en Result y el operador ? para escribir programas robustos y tolerantes a fallas.
Aprovechar iteradores, genéricos y colecciones estándar para procesar datos de manera eficiente y expresiva.
Construir servicios HTTP, analizar JSON con Serde y desarrollar herramientas de línea de comandos para proyectos reales.
Cómo estudiás de forma práctica Curso de programación en Rust desde cero
Cómo practicás Curso de programación en Rust desde cero
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 • 38 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesPrimeros pasos con Rust
Primeros pasos con Rust
Lección 1 • Cargo: el sistema de compilación de Rust
Presenta Cargo para crear proyectos, gestionar dependencias y ejecutar compilaciones. Los estudiantes adquieren la base de flujo de trabajo que se usará durante todo el curso.
Lección 2 • Escribir tu primer programa en Rust
Recorre un programa Hola Mundo, explicando la función main, las macros y la salida de compilación. Conecta los conceptos básicos de sintaxis con la estructura más amplia del lenguaje.
Lección 3 • Instalar Rust y configurar el toolchain
Guía la instalación mediante rustup, la configuración del compilador y la gestión de versiones del toolchain. Asegura que cada estudiante tenga un entorno de desarrollo reproducible y funcional.
Lección 4 • Por qué Rust y sus objetivos de diseño
Cubre las motivaciones de Rust: seguridad de memoria sin un recolector de basura, abstracciones de costo cero y rendimiento de nivel de sistemas. Establece el contexto para cada decisión de diseño que se explorará más adelante.
Capítulo 2OcultarOcultar detallesVer detallesFundamentos de Rust: tipos y variables
Fundamentos de Rust: tipos y variables
Lección 1 • Tipos de datos escalares
Cubre enteros, números de punto flotante, booleanos y caracteres con sus tamaños y rangos. Proporciona los bloques de construcción primitivos para todo el modelado de datos posterior.
Lección 2 • Tipos compuestos: tuplas y arrays
Presenta tipos compuestos de tamaño fijo, desestructuración y acceso basado en índices. Los estudiantes aprenden a agrupar valores relacionados sin asignación en el heap.
Lección 3 • Variables, mutabilidad y shadowing
Explica los bindings con let, la regla de inmutabilidad por defecto, mut y la semántica de shadowing. Establece la disciplina de mutabilidad explícita, central para escribir código Rust seguro.
Lección 4 • Inferencia de tipos y anotaciones de tipo
Demuestra cómo el compilador infiere los tipos y cuándo se requieren anotaciones explícitas. Construye hábitos que previenen errores de discrepancia de tipos en programas más grandes.
Capítulo 3OcultarOcultar detallesVer detallesFlujo de control y funciones
Flujo de control y funciones
Lección 1 • Expresiones condicionales
Cubre if, else if y else como expresiones que devuelven valores, no solo como sentencias. Refuerza el diseño orientado a expresiones de Rust presentado en capítulos anteriores.
Lección 2 • Definir y llamar funciones
Explica las firmas de funciones, los tipos de parámetros, los tipos de retorno y los retornos implícitos. Establece la función como la unidad principal de reutilización de código en Rust.
Lección 3 • Coincidencia de patrones con match
Presenta la coincidencia exhaustiva de patrones como una herramienta de flujo de control superior a las largas cadenas de if-else. Prepara a los estudiantes para el diseño basado en enums en capítulos posteriores.
Lección 4 • Closures y funciones de orden superior
Cubre la sintaxis de closures, la captura de variables del entorno y el paso de closures a funciones. Sienta las bases para la programación basada en iteradores que se presentará más adelante.
Lección 5 • Bucles e iteración
Enseña los constructos loop, while y for, incluyendo break con valores de retorno e iteración sobre rangos. Capacita a los estudiantes para manejar lógica repetitiva de forma segura e idiomática.
Capítulo 4OcultarOcultar detallesVer detallesOwnership, borrowing y lifetimes
Ownership, borrowing y lifetimes
Lección 1 • Reglas de ownership y semántica de move
Define las tres reglas de ownership y explica cómo los valores se mueven entre ámbitos. Este es el núcleo conceptual que distingue a Rust de todos los demás lenguajes.
Lección 2 • Slices como vistas prestadas
Explica los slices de strings y arrays como referencias a datos contiguos. Conecta los conceptos de borrowing con patrones prácticos de acceso a datos.
Lección 3 • Referencias y borrowing
Presenta las referencias inmutables y mutables, las reglas de aliasing y la prevención de referencias colgantes. Los estudiantes aprenden a compartir datos sin transferir el ownership.
Lección 4 • Anotaciones de lifetime
Enseña la sintaxis explícita de lifetimes, las reglas de elisión de lifetimes y los límites de lifetime en funciones y structs. Permite a los estudiantes escribir APIs que devuelven referencias de forma segura.
Lección 5 • Clonado y el trait Copy
Distingue los tipos Copy superficiales de las operaciones Clone profundas y explica cuándo se aplica cada una. Previene errores comunes al trabajar con enteros versus datos asignados en el heap.
Capítulo 5OcultarOcultar detallesVer detallesStructs, enums y modelado de datos
Structs, enums y modelado de datos
Lección 1 • Definir y usar structs
Cubre structs con campos nombrados, tuple structs y unit structs, con instanciación y acceso a campos. Proporciona la herramienta principal para agrupar datos relacionados en programas Rust.
Lección 2 • Option y seguridad frente a null
Cubre el enum Option<T> como reemplazo de null en Rust, con coincidencia de patrones y combinadores. Elimina los errores de puntero nulo en tiempo de compilación.
Lección 3 • Enums y datos de variante
Presenta enums con variantes que contienen datos, habilitando tipos de datos algebraicos. Desbloquea el modelado expresivo de estados, errores y valores opcionales.
Lección 4 • Métodos y funciones asociadas
Explica los bloques impl, las variantes del parámetro self y las funciones asociadas como los constructores. Encapsula el comportamiento junto con los datos en un estilo orientado a objetos.
Lección 5 • Derivar traits comunes
Muestra cómo autoderivar Debug, Clone, PartialEq y otros traits estándar en tipos personalizados. Reduce el código repetitivo mientras habilita la impresión, comparación y copia.
Capítulo 6OcultarOcultar detallesVer detallesManejo de errores y el tipo Result
Manejo de errores y el tipo Result
Lección 1 • Errores recuperables con Result
Presenta Result<T, E>, sus variantes Ok y Err, y la coincidencia básica para el manejo de errores. Establece la base para todos los patrones de gestión de errores en Rust.
Lección 2 • Errores irrecuperables y panics
Cubre panic!, unwrap y expect, explicando cuándo es aceptable versus perjudicial causar un panic. Enseña a los estudiantes a distinguir los errores de programación de las fallas recuperables en tiempo de ejecución.
Lección 3 • Tipos de error personalizados
Guía la creación de enums de error específicos del dominio y la implementación del trait Error. Permite un reporte de errores claro y estructurado en código de librerías y aplicaciones.
Lección 4 • El operador ? para propagación
Explica cómo ? desenvuelve Ok o devuelve Err temprano, reduciendo el código repetitivo en funciones falibles. Se conecta con el trait From para la conversión automática de tipos de error.
Lección 5 • Librerías de manejo de errores
Examina crates populares como thiserror y anyhow para una gestión ergonómica de errores. Prepara a los estudiantes para elegir la herramienta adecuada para el manejo de errores en librerías versus aplicaciones.
Capítulo 7OcultarOcultar detallesVer detallesColecciones, iteradores y genéricos
Colecciones, iteradores y genéricos
Lección 1 • Strings: String vs. &str
Clarifica la distinción entre String propio y &str prestado, cubriendo la creación, concatenación y slicing. Resuelve la fuente de confusión más común para los principiantes de Rust.
Lección 2 • Vectores y arrays dinámicos
Cubre la creación, expansión, indexación e iteración de Vec<T> con consideraciones de ownership. Proporciona la colección asignada en el heap más utilizada en programas Rust.
Lección 3 • Tipos y funciones genéricos
Presenta los parámetros de tipo genérico, la monomorfización y los límites de trait en genéricos. Permite a los estudiantes escribir implementaciones únicas que funcionan a través de muchos tipos concretos.
Lección 4 • El trait Iterator y los adaptadores
Explica el trait Iterator, la evaluación perezosa y los adaptadores como map, filter y collect. Permite la transformación de datos en estilo funcional con cero sobrecarga en tiempo de ejecución.
Lección 5 • Hash Maps y almacenamiento clave-valor
Presenta HashMap<K, V> para almacenamiento clave-valor, inserción, búsqueda y actualizaciones basadas en entry. Capacita a los estudiantes para resolver problemas de búsqueda y agregación eficientemente.
Capítulo 8OcultarOcultar detallesVer detallesTraits, módulos y estructura de proyectos
Traits, módulos y estructura de proyectos
Lección 1 • Definir e implementar traits
Cubre las definiciones de traits, las implementaciones de métodos por defecto y la implementación de traits en tipos personalizados. Proporciona el mecanismo principal de Rust para el polimorfismo y las interfaces compartidas.
Lección 2 • Crates, paquetes y workspaces
Explica la distinción entre crate y paquete, la configuración de Cargo.toml y los workspaces de múltiples crates. Prepara a los estudiantes para estructurar proyectos Rust profesionales de múltiples componentes.
Lección 3 • Trait objects y despacho dinámico
Explica dyn Trait, Box<dyn Trait> y los compromisos entre el despacho estático y el dinámico. Permite el polimorfismo en tiempo de ejecución cuando los tipos genéricos son insuficientes.
Lección 4 • Módulos y visibilidad
Enseña las declaraciones mod, la visibilidad pub, las importaciones use y la organización de módulos en múltiples archivos. Permite una separación limpia de responsabilidades en codebases grandes.
Lección 5 • Traits de la librería estándar
Examina traits clave: Display, From, Into, Iterator y traits de sobrecarga de operadores. Integra los tipos personalizados sin problemas con el ecosistema de Rust.
Tu certificado válido de finalización
Este curso es para vos:
Desarrollador de Python o JavaScript: listo para explorar programación de más bajo nivel y alto rendimiento.
Estudiante de ciencias de la computación: que busca experiencia práctica en programación de sistemas más allá de los trabajos académicos.
Programador aficionado: con ganas de construir herramientas rápidas y confiables para proyectos personales.
Ingeniero de DevOps o infraestructura: que busca escribir herramientas más seguras de lo que permiten los scripts de shell.
Desarrollador de C o C++: que busca una alternativa moderna con mayores garantías de seguridad en tiempo de compilación.
Persona que cambia de carrera: que se inicia en el desarrollo de software y apunta a roles de backend o ingeniería de sistemas.
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




















