Descripción
Descripción del curso de programación avanzada en RUST
El curso de programación avanzada en Rust está diseñado para aquellos que ya poseen conocimientos básicos en el lenguaje y desean profundizar en conceptos más avanzados y técnicas de desarrollo en Rust. Durante 24 horas, los participantes se sumergirán en temas más complejos, como concurrencia avanzada, programación asincrónica, desarrollo de macros y optimización de rendimiento. A través de proyectos prácticos y ejemplos avanzados, los estudiantes adquirirán habilidades para construir aplicaciones de alta calidad, eficiencia y seguridad en Rust.
Objetivos:
- Ampliar el dominio de los conceptos fundamentales de Rust.
- Profundizar en técnicas avanzadas de gestión de memoria y concurrencia.
- Comprender la programación asincrónica y su aplicación en Rust.
- Explorar el desarrollo de macros y metaprogramación.
- Mejorar la eficiencia y el rendimiento de las aplicaciones en Rust.
- Desarrollar un proyecto avanzado para aplicar los conocimientos adquiridos.
Temario del curso de programación avanzada en Rust
Módulo 1: Gestión Avanzada de Memoria (4 horas)
- Referencias y lifetimes en profundidad.
- Punteros inteligentes avanzados: Rc, Arc y Cell.
- Unsafe Rust: uso y consideraciones.
Módulo 2: Concurrency Avanzada (6 horas)
- Modelos de concurrencia en Rust: actores y canales.
- Atomicidad y sincronización avanzada con Mutex y RwLock.
- Concurrencia sin bloqueo con Atomic Types.
- Concurrencia a nivel de hardware con std::sync::atomic.
Módulo 3: Programación Asincrónica (6 horas)
- Entendiendo async/await en Rust.
- Trabajando con Futures y Promises.
- Combinación de Futures con async_std o tokio.
- Desarrollo de aplicaciones asincrónicas en la práctica.
Módulo 4: Macros y Metaprogramación (4 horas)
- Conceptos básicos de macros en Rust.
- Desarrollo de macros simples y macros de repetición.
- Metaprogramación y generación de código en Rust.
Módulo 5: Optimización y Rendimiento (4 horas)
- Estrategias para mejorar el rendimiento en Rust.
- Uso de benchmarking y profiling.
- Identificación y resolución de cuellos de botella.
Módulo 6: Proyecto Avanzado (4 horas)
- Desarrollo de un proyecto avanzado utilizando Rust.
- Implementación de técnicas aprendidas en el curso.
- Optimización y mejora del rendimiento si es pertinente.
- Presentación y revisión de proyectos por parte de los participantes.
Este temario proporcionará a los estudiantes un conjunto sólido de habilidades avanzadas en Rust, lo que les permitirá enfrentar proyectos más complejos y desafiantes. Al final del curso, los participantes estarán equipados para diseñar y desarrollar aplicaciones robustas y eficientes, aprovechando al máximo las capacidades de Rust como lenguaje de programación de alto rendimiento.
Este curso requiere los conocimientos basicos de Rust del curso https://fti.cl/cursos/curso-basico-de-programacion-en-rust/