Descripción del curso
El curso, está diseñado para que los participantes comprendan y apliquen técnicas de programación concurrente, un aspecto esencial para el desarrollo de aplicaciones modernas y de alto rendimiento. En este módulo, los estudiantes explorarán la diferencia entre concurrencia y paralelismo, aprendiendo a crear y manejar hilos con la biblioteca estándar de Rust. También abordarán el uso de herramientas como canales y las estructuras Arc y Mutex para gestionar el estado compartido de manera segura. Además, se profundizará en la implementación de traits con lifetimes para asegurar la gestión correcta de la memoria en aplicaciones concurrentes. Al finalizar el módulo, los participantes habrán adquirido las habilidades necesarias para desarrollar programas concurrentes eficientes y robustos, aplicando prácticas seguras y modernas que maximizan el rendimiento y la seguridad en Rust.
Contenidos
1. Introducción a la concurrencia.
2. Patrones avanzados de concurrencia.
3. Concurrencia segura con lifetimes y traits.
4. Estudio de caso: Implementación de un servidor multihilo.
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 | Intermedio. |
Perfil de ingreso | El estudiante debe tener un conocimiento sólido de los fundamentos de Rust, incluyendo sintaxis básica, control de flujo, y estructuras de datos como structs y enums. Es esencial comprender los conceptos de ownership y borrowing, así como el manejo de referencias y lifetimes, ya que estos son cruciales para trabajar con seguridad en la concurrencia. También se espera que el estudiante tenga experiencia con la modularización del código y la implementación de traits, habilidades adquiridas en módulos anteriores. Una comprensión básica de la programación multihilo en otros lenguajes puede ser beneficiosa para asimilar más fácilmente los conceptos concurrentes en Rust. |
Perfil de salida | Desarrollador de software concurrente, ingeniero de programación multihilo, implementador de sistemas de sincronización de datos, desarrollador de aplicaciones de alto rendimiento, especialista en manejo seguro de estado compartido, colaborador en proyectos de infraestructura concurrente. |
Cursos relacionados