Descripción del curso
El curso, está diseñado para que los participantes apliquen sus conocimientos en el desarrollo de proyectos prácticos y específicos utilizando Rust. Durante este módulo, los estudiantes aprenderán a crear aplicaciones web con frameworks como Actix y Rocket, desarrollando funcionalidades completas como operaciones CRUD. También explorarán la programación de sistemas, que incluye la interacción con recursos de nivel bajo, como archivos y redes, y aprenderán a integrar Rust con bibliotecas en C/C++ mediante el uso de FFI (Foreign Function Interface). Finalmente, los participantes comprenderán cómo publicar crates en crates.io, gestionando dependencias y versionado de manera eficiente. Al finalizar el módulo, los estudiantes estarán preparados para abordar proyectos del mundo real y participar en el desarrollo de software avanzado y de alto rendimienEl curso, está diseñado para que los participantes apliquen sus conocimientos en el desarrollo de proyectos prácticos y específicos utilizando Rust. Durante este módulo, los estudiantes aprenderán a crear aplicaciones web con frameworks como Actix y Rocket, desarrollando funcionalidades completas como operaciones CRUD. También explorarán la programación de sistemas, que incluye la interacción con recursos de nivel bajo, como archivos y redes, y aprenderán a integrar Rust con bibliotecas en C/C++ mediante el uso de FFI (Foreign Function Interface). Finalmente, los participantes comprenderán cómo publicar crates en crates.io, gestionando dependencias y versionado de manera eficiente. Al finalizar el módulo, los estudiantes estarán preparados para abordar proyectos del mundo real y participar en el desarrollo de software avanzado y de alto rendimiento.
Contenidos
1. Desarrollo web con Rust.
2. Programación de sistemas en Rust.
3. Interoperabilidad con C/C++ (FFI).
4. Publicación de Crates y manejo de dependencias.
Metodología de Aprendizaje
La educación actual suele limitar a estudiantes, forzándoles a absorber contenidos en lugar de fomentar la solución colectiva de problemas. En CENFOTEC, buscamos modificar este enfoque mediante nuestra metodología de aprendizaje constructivista llamada 40-40-20.
La técnica 40-40-20 divide el tiempo de clase: 40% el profesor da un charla para inducir al pensamiento autónomo basado en conceptos clave; el siguiente 40% para resolver retos individuales o en grupo, que exigen exploración, donde el docente es un facilitador; y el 20% restante para una discusión guiada por el profesorado. Para mantener la atención, consideramos 1 hora lectiva como 50 minutos, especialmente en cursos de 3-4 horas.
Adicionalmente el estudiante deberá dedicar una cantidad de horas adicionales para completar retos extraclase que el profesor le asigne.
Metodología XperiencEd™
Nuestra metodología de aprendizaje, un pilar clave de Credentials as you Grow
Experiencia educativa con un enfoque 20% teoría, 60% práctica y 20% reflexión.
Integra estrategias de aprendizaje activas y experiencias prácticas para potenciar el desarrollo de habilidades técnicas y power skills.
Promueve un aprendizaje vivencial, donde la resolución de problemas en escenarios reales y la aplicación inmediata del conocimiento en entornos empresariales fortalecen la formación profesional.

Información adicional
Fecha de inicio | – |
---|---|
Horario | – |
Profesor | – |
Área de formación | Ingeniería del software |
Modalidad | Virtual en Vivo |
Duración | 16 horas. |
Nivel de complejidad | Avanzado |
Perfil de ingreso | El estudiante debe tener un conocimiento sólido de Rust, incluyendo manejo de ownership, borrowing y lifetimes, así como experiencia en programación concurrente y asincrónica adquirida en módulos anteriores. Debe estar familiarizado con la modularización del código y el uso de crates para organizar y expandir proyectos. También es esencial que comprenda los conceptos básicos de desarrollo web y programación de sistemas, y que tenga conocimientos previos sobre interoperabilidad entre lenguajes, ya que trabajará con FFI para integrar Rust con bibliotecas en C/C++. La experiencia en el uso de herramientas de control de versiones como Git y en la publicación de paquetes en plataformas como crates.io también es altamente recomendable. |
Perfil de salida | Desarrollador de aplicaciones web en Rust, programador de sistemas, ingeniero de software con integración de C/C++, desarrollador backend, creador de bibliotecas y paquetes para crates.io, especialista en interoperabilidad de lenguajes, colaborador en proyectos de desarrollo de software avanzado. |
Cursos relacionados