Aprende Rust
Un curso de Rust online, gratis e interactivo. Escribes Rust en cada lección, con pistas de IA cuando el borrow checker se te pone difícil, y un certificado gratis al terminar.
17,735+ codders inscritos
- Apto para principiantes
Ayuda de codificación con IA
Lecciones interactivas prácticas
Narración de audio en cada lección
Cuestionarios para poner a prueba tu conocimiento
Certificado gratuito de finalización
Programa
Sección 1
Fundamentals
Empezar secciónEmpezarExpandirContraerBuild a strong foundation with essential concepts and basic skillsIntroducción
4 lecciones324- 01RustReto
- 02¡Hola, mundo!RetoQuiz
- 03ComentariosQuiz
- 04Estructura básica del programaRetoQuiz
Variables Parte 1
5 lecciones539- 01NúmerosRetoQuiz
- 02CharRetoQuiz
- 03StringRetoQuiz
- 04BooleanRetoQuiz
- 05Variables mutablesRetoQuiz
Variables Parte 2
5 lecciones433- 01Declaración de tiposRetoQuiz
- 02Convenciones de nomenclaturaQuiz
- 03Inferencia de tiposRetoQuiz
- 04Resumen - Inicializar variablesReto
- 05Conversión de tiposRetoQuiz
Operadores Parte 1
5 lecciones438- 01Operadores aritméticosRetoQuiz
- 02Operador de móduloRetoQuiz
- 03Atajos aritméticosRetoQuiz
- 04Operadores de comparaciónRetoQuiz
- 05Comparación de stringsQuiz
Operadores Parte 2
4 lecciones424- 01Operadores lógicos Parte 1RetoQuiz
- 02Operadores lógicos Parte 2RetoQuiz
- 03Repaso - Lógica simpleReto
- 04Operadores lógicos Parte 3RetoQuiz
Toma de decisiones
5 lecciones532- 01Expresiones IfRetoQuiz
- 02If-ElseRetoQuiz
- 03Sentencia MatchRetoQuiz
- 04Resumen - If ElseReto
- 05If - Else anidadosRetoQuiz
E/S básica
4 lecciones417- 01Imprimir en consolaRetoQuiz
- 02Leer entrada del usuarioRetoQuiz
- 03Repaso - Hasta 120Reto
- 04Repaso - Verdadero o FalsoReto
Aplicación de calculadora
Proyecto4 lecciones1- 01Mensaje de bienvenidaReto
- 02Obtener númerosProyecto
- 03Operaciones básicasProyecto
- 04Salida con formatoProyecto
Bucles
8 lecciones851- 01For sobre seriesRetoQuiz
- 02Bucle WhileRetoQuiz
- 03BreakRetoQuiz
- 04ContinueRetoQuiz
- 05Bucle anidadoRetoQuiz
- 06Etiquetas de bucleRetoQuiz
- 07Bucle infinitoRetoQuiz
- 08Resumen - Entrada dinámicaReto
Vinculación de variables
4 lecciones230- 01ÁmbitoQuiz
- 02Sombreado - Parte 1RetoQuiz
- 03Vinculación de variablesQuiz
- 04Sombreado - Parte 2RetoQuiz
Funciones
6 lecciones634- 01Declaración de funcionesRetoQuiz
- 02Parámetros y argumentosRetoQuiz
- 03Valores de retornoRetoQuiz
- 04Múltiples valores de retornoRetoQuiz
- 05Repaso: Función SigmaReto
- 06Repaso: Función de validaciónReto
Fundamentos de Arrays
5 lecciones430- 01Declaración de ArraysRetoQuiz
- 02Arrays como parámetrosQuiz
- 03Acceso a elementosRetoQuiz
- 04Modificación de ArraysRetoQuiz
- 05Resumen - Pretty Print de ArraysReto
Arrays: Continuación
5 lecciones423- 01Arrays de referencia mutablesRetoQuiz
- 02Métodos de arraysRetoQuiz
- 03Resumen: Array de productosReto
- 04Resumen: Array invertidoReto
- 05Impresión mejoradaQuiz
Iterar sobre Arrays
4 lecciones333- 01Guía de RangeRetoQuiz
- 02Bucle for mejoradoRetoQuiz
- 03Borrow en buclesQuiz
- 04Operaciones comunes con arraysRetoQuiz
Operaciones con Strings
4 lecciones424- 01Métodos de StringRetoQuiz
- 02Macro format!RetoQuiz
- 03Conversión de StringsRetoQuiz
- 04Repaso - FormatReto
Proyectos finales
3 lecciones37- 01Patrones numéricosRetoQuiz
- 02Buscador de patronesReto
- 03Calculadora de calificacionesReto
Sección 2
Logic & Flow
Empezar secciónEmpezarExpandirContraerDevelop problem-solving skills and create dynamic, interactive programsFlujo de control avanzado
6 lecciones640- 01La expresión 'match'RetoQuiz
- 02Coincidencia de múltiples valoresRetoQuiz
- 03Coincidencia de rangosRetoQuiz
- 04La expresión 'if let'RetoQuiz
- 05Bucles como expresionesRetoQuiz
- 06Resumen - Analizador de comandos simpleReto
Introducción a los vectores
8 lecciones756- 01¿Qué es un vector?Quiz
- 02Crear un vectorRetoQuiz
- 03Añadir elementos con pushRetoQuiz
- 04Acceder a los elementos de un vectorRetoQuiz
- 05Iterar sobre un vectorRetoQuiz
- 06Iteración mutableRetoQuiz
- 07Eliminar elementosRetoQuiz
- 08Resumen: Rastreador de puntuación básicoReto
Lista de tareas en la línea de comandos
5 lecciones5- 01Configuración del proyectoReto
- 02Añadir una tareaReto
- 03Ver todas las tareasReto
- 04Eliminar una tareaReto
- 05Código finalReto
Agrupando datos con Structs
7 lecciones650- 01¿Qué es un Struct?Quiz
- 02Visión general de los StructsRetoQuiz
- 03Acceso a los campos de un StructRetoQuiz
- 04Structs mutablesRetoQuiz
- 05Structs como parámetros de funcionesRetoQuiz
- 06Structs de tuplaRetoQuiz
- 07Resumen - Crear un Struct de LibroReto
Pares clave-valor con Hash Maps
8 lecciones653- 01¿Qué es un Hash Map?Quiz
- 02Crear un Hash MapQuiz
- 03Insertar pares clave-valorRetoQuiz
- 04Acceder a los valoresRetoQuiz
- 05Iterar sobre un Hash MapRetoQuiz
- 06Actualizar un valorRetoQuiz
- 07Eliminar un parRetoQuiz
- 08Repaso: Contador de palabrasReto
Manejo de ausencia con 'Option'
7 lecciones645- 01¿Qué es un 'Option'?Quiz
- 02Uso de 'match' con 'Option'RetoQuiz
- 03is_some() e is_none()RetoQuiz
- 04Desempaquetar un 'Option'RetoQuiz
- 05El método expectRetoQuiz
- 06Proporcionar un valor por defecto: unwrap_orRetoQuiz
- 07Resumen - Encontrar un elementoReto
Manejo de errores con 'Result'
7 lecciones648- 01¿Qué es un 'Result'?Quiz
- 02Uso de 'match' con 'Result'RetoQuiz
- 03is_ok() e is_err()RetoQuiz
- 04Atajos: unwrap y expectRetoQuiz
- 05El operador de signo de interrogación '?'RetoQuiz
- 06Parsing de Strings a númerosRetoQuiz
- 07Resumen - Función de división seguraReto
Proyecto: Inventario simple de artículos
5 lecciones5- 01Configuración del proyectoReto
- 02Agregar un artículoReto
- 03Verificar el stockReto
- 04Vender un artículoReto
- 05Uniendo todoReto
Slices de String y más
5 lecciones432- 01String vs. &strQuiz
- 02Creación de Slices de StringRetoQuiz
- 03Slices como parámetros de funciónRetoQuiz
- 04Otros SlicesRetoQuiz
- 05Resumen - Encontrar la primera palabraReto
Closures y funciones anónimas
5 lecciones431- 01¿Qué es un Closure?Quiz
- 02Definir un Closure simpleRetoQuiz
- 03Closures con parámetrosRetoQuiz
- 04Capturar el entornoRetoQuiz
- 05Resumen - Closure sumador simpleReto
Desafíos finales
3 lecciones3- 01Repaso - Elementos únicosReto
- 02Repaso - Validador de perfiles de usuarioReto
- 03Repaso - Resumidor de calificacionesReto
Sección 3
Object Oriented Programming
Empezar secciónEmpezarExpandirContraerDiscover how to organize code with classes, objects, and reusable structuresMétodos y Comportamiento
7 lecciones748- 01Intro a Bloques de ImplementaciónRetoQuiz
- 02El Parámetro SelfRetoQuiz
- 03Métodos MutablesRetoQuiz
- 04Funciones AsociadasRetoQuiz
- 05Múltiples Bloques de ImplementaciónRetoQuiz
- 06Encadenamiento de MétodosRetoQuiz
- 07Resumen - Acciones de RectánguloReto
Encapsulamiento y módulos
6 lecciones543- 01Conceptos básicos de módulosQuiz
- 02La palabra clave PublicRetoQuiz
- 03Campos privadosRetoQuiz
- 04GettersRetoQuiz
- 05SettersRetoQuiz
- 06Repaso - Casillero seguroReto
Enums avanzados
5 lecciones535- 01Enums con datosRetoQuiz
- 02Métodos en EnumsRetoQuiz
- 03Coincidencia de variantes de datosRetoQuiz
- 04El Enum Option revisitadoRetoQuiz
- 05Resumen - Enum ShapeReto
Proyecto: Mascota virtual
Proyecto5 lecciones1- 01Definir la mascotaReto
- 02Alimentar a la mascotaProyecto
- 03Jugar con la mascotaProyecto
- 04Reporte de estadoProyecto
- 05Interacción finalProyecto
Genéricos
5 lecciones533- 01Estructuras genéricasRetoQuiz
- 02Métodos genéricosRetoQuiz
- 03Múltiples tipos genéricosRetoQuiz
- 04Funciones genéricasRetoQuiz
- 05Resumen - Punto de coordenadasReto
Definición de Traits
6 lecciones641- 01¿Qué es un Trait?RetoQuiz
- 02Implementación de TraitsRetoQuiz
- 03Implementaciones por defectoRetoQuiz
- 04Sobrescribir valores por defectoRetoQuiz
- 05Traits con parámetrosRetoQuiz
- 06Resumen - Reproductor multimediaReto
Traits estándar
5 lecciones536- 01El trait DebugRetoQuiz
- 02El trait DisplayRetoQuiz
- 03Clone y CopyRetoQuiz
- 04Traits de igualdadRetoQuiz
- 05Resumen - Punto imprimibleReto
Traits como límites
5 lecciones534- 01Sintaxis de límites de traitsRetoQuiz
- 02Límites múltiplesRetoQuiz
- 03La cláusula whereRetoQuiz
- 04Retornar tipos con traitsRetoQuiz
- 05Resumen: Impresora genéricaReto
Objetos de Trait
4 lecciones425- 01Despacho dinámicoRetoQuiz
- 02Vectores de TraitsRetoQuiz
- 03Iteración de objetos de TraitRetoQuiz
- 04Repaso - Gestor del zoológicoReto
Proyecto: Sistema de documentos
Proyecto5 lecciones1- 01El Trait DrawReto
- 02Componente de textoProyecto
- 03Componente de botónProyecto
- 04El Struct ScreenProyecto
- 05Ejecución de la pantallaProyecto
Patrones de diseño en Rust
5 lecciones531- 01Patrón NewtypeRetoQuiz
- 02ComposiciónRetoQuiz
- 03El Trait DropRetoQuiz
- 04From e IntoRetoQuiz
- 05Resumen - Mock de Smart PointerReto
Desafíos finales
3 lecciones3- 01Pila genéricaReto
- 02Catálogo de bibliotecaReto
- 03Calculadora de área de figurasReto
Cursos de Rust
Cursos prácticos de Rust, gratis para empezar en tu navegador.
Desafíos para principiantes - Practica conceptos básicos
PopularPon a prueba tus conocimientos básicos de programación e intenta resolver estos desafíos; usa cualquier lenguaje que quieras. ¡Feliz programación!
Certificado al completar
- 20
- 20
Problemas de programación
PopularPon a prueba tus habilidades de resolución de problemas de programación con los ejercicios de diferentes niveles de dificultad de este curso. Diseñado para programadores con conocimientos previos de la sintaxis básica en cualquier lenguaje de programación.
Certificado al completar
- 32
- 31
Problemas de programación: Volumen 2
Pon a prueba tus habilidades de resolución de problemas de programación con los ejercicios de diferentes niveles de dificultad de este curso. Diseñado para programadores con conocimientos previos de la sintaxis básica en cualquier lenguaje de programación, este curso es una extensión del primer volumen de Problemas de programación.
Certificado al completar
- 25
- 24
Pila - Serie de Estructuras de Datos #1
En este curso, aprenderás sobre la estructura de datos Pila, crearás una Pila desde cero usando tu lenguaje preferido y practicarás desafíos de programación con ella.
- 13
- 6
- 1
Heaps y Colas de Prioridad - Serie de Estructuras de Datos #7
NuevoEn este curso, aprenderás sobre la estructura de datos Heap (la base de las colas de prioridad), crearás un MinHeap desde cero usando tu lenguaje preferido y practicarás desafíos de programación con él.
Certificado al completar
- 14
- 6
- 1
Bootcamp de patrones de estrellas
Pon a prueba tus habilidades de resolución de problemas de programación para aprender a imprimir patrones de estrellas que van desde lo simple hasta lo complejo, involucrando diferentes niveles de bucles anidados, sentencias condicionales y cálculos matemáticos.
- 30
- 28
Por qué aprender Rust con Coddy
- Escribe y ejecuta código Rust real en tu navegador. Sin instalar rustup, sin configurar Cargo. Cada lección compila tu programa de Rust en el servidor y muestra la salida (y cualquier error del compilador) al instante.
- Lo que hace único a Rust: ownership, borrowing, lifetimes, traits, enums y pattern matching, manejo de errores con
Result. Las bases de Rust que todo programador de sistemas necesita. - Las pistas de IA te guían a través de los famosamente estrictos errores del compilador de Rust, para que el borrow checker se convierta en un profesor en lugar de un muro cuando recién estás empezando.
- Certificado gratis de Rust al terminar el curso. Una señal creíble para puestos de sistemas, infraestructura, blockchain y embedded, donde Rust se está volviendo el lenguaje elegido.