We may earn an affiliate commission when you visit our partners.
Course image
Julio Andrés

Rust ha sido elegido como el lenguaje más querido por los desarrolladores por 7 años consecutivos en la encuesta de Stackoverflow. De a poco las grandes empresas como Facebook, Google, Amazon, Microsoft, están usando Rust en sus sistemas internos. Algunos dicen que es el sucesor de C y C++. En este curso te contaré por que éste lenguaje está acaparando tanta atención del mundo de la informática, y te enseñaré a programar en él.

Read more

Rust ha sido elegido como el lenguaje más querido por los desarrolladores por 7 años consecutivos en la encuesta de Stackoverflow. De a poco las grandes empresas como Facebook, Google, Amazon, Microsoft, están usando Rust en sus sistemas internos. Algunos dicen que es el sucesor de C y C++. En este curso te contaré por que éste lenguaje está acaparando tanta atención del mundo de la informática, y te enseñaré a programar en él.

Aprenderás los conceptos fundamentales de Rust.Aprenderás mediante ejemplos el concepto más revolucionario de Rust: Ownership y Borrowing.Vamos a desarrollar distintas aplicaciones de principio a fin. Te mostraré todo el código, y podrás descargarlo para modificarlo o ejecutarlo tu mismo.

He diseñado éste curso para que sea la mejor relación entre calidad y tiempo, nuestro tiempo es muy valioso, así que la idea es que saques el mayor provecho en el menor tiempo posible.

El curso a grandes rasgos consiste en:

  • Instalar Rust y dejar tu equipo listo para programar, incluida la selección del IDE.

  • Aprender sobre el gestor de paquetes de Rust llamado Cargo

  • Conocer los conceptos fundamentales del lenguaje

  • Entenderemos Ownership y Borrowing, aplicando el concepto en varias clases y distintos ángulos.

  • Aprender a manejar los errores de nuestras aplicaciones.

  • Construiremos aplicaciones de principio a fin.

  • Podrás revisar algunos tópicos avanzados sobre el lenguaje.

  • Y sabrás como buscar información por tu cuenta y seguir tu aprendizaje.

Este curso es para ti si:

  • Eres un estudiante que quiere empezar su carrera con algo totalmente nuevo.

  • Eres un profesional que esta buscando un cambio en su carrera, o ¿por qué no? optar a un mejor salario con problemas más desafiantes.

  • Eres un desarrollador senior que quiere saltar al siguiente nivel desde C o C++, seguir programando a bajo nivel pero con un lenguaje que se siente de alto nivel.

  • Eres un programador curioso que quiere saber por que todos están hablando de Rust.

Es el mejor momento para empezar a aprender Rust.Te espero en el curso.

Enroll now

What's inside

Learning objectives

  • Beneficios de rust
  • Fundamentos del lenguaje de programación rust
  • Como escribir, compilar y ejecutar programas rust
  • Buenas practicas de rust

Syllabus

Introducción
Introducción al curso
¿Qué es Rust? ¿Quiénes usan Rust? ¿Por qué usar Rust?
Instalación
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Cubre concurrencia y paralelismo, lo que permite a los desarrolladores escribir aplicaciones Rust eficientes y de alto rendimiento
Enseña a construir aplicaciones web usando Rust, incluyendo un servidor web y una API de Twitter, lo cual es muy relevante para el desarrollo backend
Explica conceptos fundamentales como Ownership y Borrowing, que son cruciales para entender la gestión de memoria en Rust
Incluye el uso de WebAssembly, permitiendo a los desarrolladores crear aplicaciones web con Rust que se ejecutan en el navegador
Utiliza Diesel para la interacción con bases de datos, lo cual es una herramienta popular en el desarrollo de aplicaciones Rust
Requiere la selección de un IDE y cubre el uso de Visual Studio Code para debugging, lo cual puede requerir configuración adicional por parte del estudiante

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Curso completo de rust: fundamentos y práctica

Según los estudiantes, este curso ofrece una base sólida en el lenguaje de programación Rust, siendo especialmente valorada la explicación de conceptos complejos como Ownership y Borrowing, que se presentan de forma muy clara y comprensible. Los proyectos prácticos, como la construcción de un servidor web o el ejercicio Minigrep, son destacados por los alumnos como una de las mejores partes, permitiendo aplicar directamente lo aprendido. El instructor es descrito como claro y que va directo al grano. Aunque la mayoría lo considera altamente recomendable y con un ritmo adecuado para principiantes con algo de experiencia, algunos estudiantes con conocimientos previos señalan que la introducción puede ser lenta o que ciertos temas avanzados se cubren superficialmente.
Depende de la experiencia previa del alumno.
"A veces siento que va un poco rápido en algunos temas, pero en general, la calidad es alta."
"Es un curso decente para una introducción, pero si ya tienes experiencia en programación, puede resultar un poco básico al principio."
"Algunos temas avanzados se cubren muy por encima."
"Esperaba un poco más de profundidad en ciertos temas."
"El ritmo es adecuado para un principiante con algo de base."
Cubre los básicos de forma sólida.
"Cubre los fundamentos de forma sólida."
"Cubre muchos temas. La calidad del audio y video es buena."
"La explicación del sistema de tipos, enums, structs... todo muy claro."
Profesor claro, detallado y directo.
"El profesor explica muy bien y va al grano."
"Impresionante el detalle con el que explica el profesor."
"El profesor es claro."
"El profesor resuelve dudas en el foro, lo cual es un plus."
Excelente para aplicar y consolidar conocimientos.
"Los ejemplos prácticos son geniales, especialmente el minigrep y el servidor web."
"Los proyectos son muy útiles para aplicar lo aprendido."
"Las demos y la construcción de las apps son la mejor parte."
"Los proyectos finales son un gran desafío que te enseña un montón."
"Los proyectos te dan una visión real de cómo usar Rust."
Concepto clave de Rust muy bien explicado.
"La explicación del ownership y borrowing es súper clara, algo fundamental en Rust."
"Impresionante el detalle con el que explica el profesor. Ownership y Borrowing, que son conceptos complejos, se vuelven entendibles."
"Absolutamente recomendable. La forma en que se explica Ownership y Borrowing es lo mejor que he visto."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Curso completo del lenguaje Rust with these activities:
Repasar los fundamentos de la programación
Refrescar los conceptos básicos de programación ayudará a comprender mejor la sintaxis y la lógica de Rust.
Browse courses on Variables
Show steps
  • Revisar tutoriales o cursos introductorios de programación.
  • Practicar con ejercicios sencillos de codificación.
  • Repasar conceptos como variables, tipos de datos y funciones.
Leer 'El Lenguaje de Programación Rust'
Leer la guía oficial de Rust proporcionará una base sólida para comprender los conceptos del lenguaje.
Show steps
  • Leer los capítulos introductorios sobre la sintaxis y los conceptos básicos.
  • Profundizar en los capítulos sobre Ownership y Borrowing.
  • Consultar el libro como referencia durante la realización de los ejercicios del curso.
Practicar con ejercicios de Ownership y Borrowing
Practicar con ejercicios específicos de Ownership y Borrowing ayudará a internalizar estos conceptos clave de Rust.
Show steps
  • Buscar ejercicios en línea sobre Ownership y Borrowing en Rust.
  • Intentar resolver los ejercicios sin consultar la solución de inmediato.
  • Analizar las soluciones y comprender los errores cometidos.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Desarrollar una aplicación de línea de comandos sencilla
Desarrollar una aplicación práctica permitirá aplicar los conocimientos adquiridos en el curso y consolidar el aprendizaje.
Show steps
  • Elegir un proyecto sencillo, como un convertidor de unidades o un generador de contraseñas.
  • Planificar la estructura del proyecto y las funciones necesarias.
  • Implementar el código en Rust, utilizando los conceptos aprendidos en el curso.
  • Probar la aplicación y corregir los errores.
Escribir un blog sobre un tema de Rust
Escribir sobre un tema específico de Rust ayudará a profundizar en el conocimiento y a compartirlo con otros.
Show steps
  • Elegir un tema específico de Rust que te interese, como el manejo de errores o la concurrencia.
  • Investigar a fondo el tema y recopilar información relevante.
  • Escribir un artículo de blog claro y conciso, explicando el tema con ejemplos.
  • Publicar el artículo en un blog personal o en una plataforma de publicación de contenido.
Leer 'Programming Rust'
Leer 'Programming Rust' te permitirá profundizar en temas avanzados y construir aplicaciones más complejas.
Show steps
  • Leer los capítulos sobre programación asíncrona y metaprogramación.
  • Experimentar con los ejemplos de código del libro.
  • Aplicar los conocimientos adquiridos en tus propios proyectos.
Contribuir a un proyecto de código abierto en Rust
Contribuir a un proyecto de código abierto permitirá aprender de otros desarrolladores y mejorar tus habilidades en Rust.
Show steps
  • Buscar un proyecto de código abierto en Rust que te interese.
  • Familiarizarte con el código base del proyecto.
  • Identificar un problema o una mejora que puedas implementar.
  • Enviar un pull request con tu solución.

Career center

Learners who complete Curso completo del lenguaje Rust will develop knowledge and skills that may be useful to these careers:
Desarrollador de Sistemas
Un desarrollador de sistemas crea y mantiene el software base que impulsa dispositivos y aplicaciones. Este curso ayuda a construir una base sólida en Rust, un lenguaje de programación cada vez más popular para sistemas de bajo nivel, que es donde un desarrollador de sistemas trabaja. La comprensión de 'ownership' y 'borrowing', conceptos clave en Rust, resulta fundamental para esta función, ya que permite una gestión eficiente de la memoria y evita errores comunes en el desarrollo de sistemas complejos. Este curso es ideal para alguien que aspira a esta carrera porque se enfoca en la creación de aplicaciones desde cero y proporciona conocimiento de características avanzadas como la concurrencia y paralelismo, que son importantes en este rol.
Ingeniero de Software de Bajo Nivel
Un ingeniero de software de bajo nivel se centra en el desarrollo de software que interactúa directamente con el hardware, como sistemas operativos o firmware. Este curso acerca a los fundamentos de Rust, un lenguaje de programación que destaca en este campo por su seguridad y rendimiento. Conocer Rust es crucial para esta función, porque permite escribir código de bajo nivel con control preciso sobre la memoria y recursos. El curso es muy útil para alguien en esta trayectoria ya que cubre temas como el manejo de errores, pruebas y linters, todos vitales para la creación de un software robusto de bajo nivel. Además, la práctica en la construcción de aplicaciones de principio a fin prepara para crear soluciones de software reales.
Ingeniero de Software de Redes
Un ingeniero de software de redes desarrolla software que permite la comunicación entre dispositivos y sistemas. Este curso es relevante para esta función ya que cubre programación asíncrona, una técnica esencial para manejar conexiones de red. El curso ofrece una base buena en Rust, un lenguaje que es capaz de construir software de red de alto rendimiento, lo cual es importante para un ingeniero de software de redes. Este curso es útil porque enseña a construir servidores web y aplicaciones que se comunican a través de la web, habilidades muy transferibles a este rol. Este curso enseña sobre concurrencia y paralelismo, conocimientos muy valiosos en programación de redes.
Desarrollador de Blockchain
Un desarrollador de blockchain construye aplicaciones descentralizadas y contratos inteligentes. Este curso es de gran utilidad debido a que Rust es popular en el desarrollo de blockchains debido a su seguridad y rendimiento. Un desarrollador de blockchain se beneficiará del curso debido a su enfoque en el 'ownership' y 'borrowing', crucial para evitar ciertos errores comunes en el desarrollo de contratos inteligentes. El conocimiento de la concurrencia y el paralelismo de este curso también son muy relevantes para crear sistemas de blockchain eficientes. Por ello, este curso es muy valioso para alguien que desea ingresar a este campo.
Desarrollador de Juegos
Un desarrollador de juegos crea videojuegos para diversas plataformas. Si bien este curso no es un curso específico de desarrollo de juegos, puede ser una buena introducción a Rust, un lenguaje que está ganando popularidad en la industria de los juegos por su rendimiento. Como desarrollador de juegos, el manejo de temas del curso como el manejo de errores y el uso de linters ayuda a desarrollar código más eficiente y robusto. Este curso es útil para un desarrollador de juegos que desee comprender mejor lenguajes con gestión de memoria y de bajo nivel. Un desarrollador de juegos puede beneficiarse especialmente de la comprensión de Rust y sus características, que pueden ayudar a producir juegos más eficientes.
Desarrollador de WebAssembly
Un desarrollador de WebAssembly construye aplicaciones para la web usando un formato binario que se ejecuta en el navegador. Este curso puede ser interesante para este rol, ya que Rust puede compilarse a WebAssembly, permitiendo desarrollar aplicaciones web de alto rendimiento. Un desarrollador de WebAssembly puede encontrar útil el curso debido a su tratamiento de varios conceptos fundamentales de Rust, así como la creación de aplicaciones de principio a fin. Este curso puede ayudar con el conocimiento necesario para trabajar en este campo, especialmente en combinación con otras tecnologías web. El curso ayuda a los desarrolladores de WebAssembly a manejar la gestión de memoria y el control de recursos.
Ingeniero de Confiabilidad de Sitios
Un ingeniero de confiabilidad de sitios (SRE) trabaja para asegurar que los sistemas y aplicaciones sean confiables y estén disponibles. Este curso puede ser útil para un SRE ya que cubre temas como el manejo de errores, concurrencia y paralelismo, que son importantes en sistemas a gran escala. Uno como SRE podría usar Rust para construir herramientas y automatizaciones que mejoren la fiabilidad de los sistemas. Este curso es valioso porque proporciona una base en Rust, un lenguaje que es adecuado para escribir la clase de software que es usado por ingenieros de confiabilidad de sitios. Un SRE se beneficiaría particularmente de este curso a través de la práctica en la construcción de aplicaciones de principio a fin.
Desarrollador de Aplicaciones de Línea de Comandos
Un desarrollador de aplicaciones de línea de comandos construye herramientas que se ejecutan desde la terminal. Este curso puede ser útil para quienes desean crear herramientas de terminal, ya que enseña a construir aplicaciones desde cero en Rust, un lenguaje que a menudo se usa para construir este tipo de software. Como un desarrollador de aplicaciones de línea de comandos, el conocimiento de la gestión de memoria y el rendimiento de Rust ayuda a construir herramientas de línea de comandos eficientes y rápidas. Este curso ayudar a construir una base sólida en los fundamentos de Rust, que sirve como un gran punto de partida para desarrollar aplicaciones de línea de comandos.
Ingeniero de Pruebas de Software
Un ingeniero de pruebas de software diseña y ejecuta pruebas para asegurar la calidad del software. Este curso puede ser útil para un ingeniero de pruebas porque el curso enseña cómo escribir pruebas unitarias en Rust, que son muy importantes en el desarrollo de software. Un ingeniero de pruebas puede usar Rust para automatizar pruebas y crear herramientas de prueba. Por lo tanto, este curso enseña sobre el manejo de errores, y los linters, que también puede ser muy útil para este rol. Por esta razón, este curso podría ser una buena opción para un ingeniero de pruebas que quiera incorporar Rust en su trabajo.
Desarrollador de Software Embebido
Un desarrollador de software embebido trabaja en el software que controla dispositivos electrónicos. Este curso puede ser de interés para esta función ya que Rust puede usarse para desarrollar sistemas embebidos. Como un desarrollador de software embebido, es importante tener control sobre la memoria y el rendimiento del software. Un desarrollador de software embebido puede encontrar útiles los conceptos de 'ownership' y 'borrowing' que este curso enseña, fundamentales para escribir código que se ejecuta con bajo consumo de recursos. Este curso puede ser una buena opción para alguien que desee explorar el desarrollo de sistemas embebidos.
Desarrollador Full Stack
Un desarrollador full stack trabaja tanto en el backend como en el frontend de aplicaciones web. Si bien este curso se centra en el lenguaje Rust, el cual es más usado en el backend, el curso ayuda a construir un entendimiento de cómo construir y organizar proyectos de software, lo que también puede ser útil en el frontend. El curso también cubre la construcción de servidores web en Rust, que son directamente aplicables a este rol. Este curso puede ser útil para un desarrollador full stack que busca una mayor comprensión del backend de aplicaciones web. Además, su enfoque en la construcción de aplicaciones desde cero le ofrece experiencia en el diseño de software.
Desarrollador de Herramientas de Desarrollo
Un desarrollador de herramientas de desarrollo construye software que ayuda a otros desarrolladores. El curso puede ser útil para esta función, ya que rust es un lenguaje que se usa para crear herramientas que puedan automatizar ciertos procesos de desarrollo. Este curso cubre temas que pueden ayudar en esta función, tales como el manejo de errores y el uso de linters para escribir código eficiente. Siendo Rust un lenguaje popular en esta área, tomar este curso proporciona una base sólida para el desarrollo de este tipo de herramientas. Los conocimientos sobre 'ownership' y 'borrowing' son especialmente útiles aquí por su énfasis en la eficiencia.
Científico de datos
Un científico de datos usa herramientas de software para analizar grandes conjuntos de datos e identificar patrones. Si bien este curso no se centra en ciencia de datos, el conocimiento de la programación y la concurrencia que imparte el curso puede ser útil para construir herramientas de análisis de datos más eficientes. Un científico de datos puede usar Rust para escribir código que sea rápido y seguro, lo que es importante para el manejo de grandes conjuntos de datos. En este sentido, este curso es una buena idea para aquellos que desean poder construir su propio software de análisis de datos. El curso también es aplicable a esta disciplina gracias al aprendizaje sobre estructuras de datos y algoritmos.
Investigador en Informática
Un investigador en informática se enfoca en el estudio de principios y tecnologías computacionales. Por lo general, un puesto de investigador requiere estudios de posgrado. Este curso ayuda a construir conocimiento de cómo programar en Rust, un lenguaje que está al frente de la investigación en informática. La naturaleza de bajo nivel y el enfoque en el rendimiento de Rust pueden ser de interés para un investigador de informática. Este curso puede ser útil como parte del proceso de aprendizaje para investigar nuevas técnicas informáticas. Los temas en este curso como la concurrencia y el paralelismo son áreas activas de investigación. Un investigador en informática puede comenzar con este curso como un medio para explorar sistemas operativos, compiladores, y otros temas.
Arquitecto de software
Un arquitecto de software diseña la estructura de las aplicaciones. Si bien este curso es más técnico, la experiencia ganada al completar este curso puede mejorar la capacidad de un arquitecto para diseñar sistemas de software, ya que ayuda a construir una comprensión sólida de los detalles de implementación. Un arquitecto de software puede beneficiarse de comprender los detalles de implementación, como la gestión de memoria. Por lo tanto, este curso es una opción para un arquitecto de software que busca tener una mayor comprensión de la implementación y las capacidades de un lenguaje como Rust. Al aprender sobre 'ownership' y 'borrowing' el arquitecto puede considerar las implicaciones en la arquitectura final.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Curso completo del lenguaje Rust.
Este libro es la guía oficial de Rust, proporcionando una cobertura exhaustiva del lenguaje. Es útil para comprender los conceptos fundamentales y avanzados de Rust. El libro es especialmente valioso como referencia durante el curso y como material de consulta posterior. Se utiliza comúnmente como libro de texto en cursos universitarios de Rust.
Este libro ofrece una visión profunda de Rust, cubriendo temas avanzados como la programación asíncrona y la metaprogramación. Es útil para aquellos que desean profundizar en el lenguaje y construir aplicaciones complejas. El libro es más valioso como lectura adicional después de completar el curso. Es un recurso valioso para comprender los matices de Rust y sus capacidades avanzadas.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser