- Se necesita una computadora con mínimo 2 núcleos y 10 GB de almacenamiento disponible.
- Conocimiento básico de Python, aunque no es necesario porque hay un apéndice con los fundamentos del lenguaje.
Este curso está diseñado para proporcionar una comprensión sólida de la computación paralela y la programación concurrente utilizando el lenguaje de programación Python. Explorarás estrategias clave para optimizar el rendimiento en tus programas y aplicaciones, desarrollando habilidades prácticas para abordar desafíos en la programación concurrente.
A lo largo de cada módulo, desentrañarás los entresijos de la computación paralela, comprendiendo cómo se pueden dividir las tareas en unidades más pequeñas y procesarlas simultáneamente para acelerar la ejecución y mejorar la eficiencia. A través de ejemplos prácticos y ejercicios interactivos, adquirirás una comprensión sólida de los conceptos clave, incluidos los hilos, los procesos, las primitivas de sincronización y los modelos de concurrencia.
Además, este curso te proporcionará las habilidades prácticas necesarias para abordar los desafíos inherentes a la programación concurrente. Aprenderás a diseñar algoritmos eficientes, gestionar recursos compartidos de manera segura y evitar condiciones de carrera y bloqueos indeseados. Asimismo, explorarás técnicas avanzadas, como el uso de semáforos, cerrojos, barreras de sincronización y más, para crear aplicaciones robustas y escalables.
Al finalizar este curso, estarás equipado con el conocimiento y la experiencia necesarios para aplicar con confianza tus habilidades en el vasto y emocionante campo de la programación paralela. Ya sea que estés interesado en desarrollar aplicaciones de alto rendimiento, optimizar algoritmos complejos o abordar problemas de concurrencia en sistemas distribuidos, este curso te proporcionará una base sólida y te preparará para enfrentar los desafíos del mundo real con destreza y maestría.
- Dominio de Conceptos Fundamentales de Computación Paralela en Python.
- Implementación de Algoritmos Paralelos Simples y Avanzados.
- Resolución de Problemas Reales mediante Computación Paralela.
- Desarrollo de Aplicaciones Escalables.
- Optimización y Rendimiento en Computación Paralela.
- Desarrollo de Habilidades Prácticas en Programación Paralela.
- Detección y Gestión de Errores en Programación Paralela.
- Adaptabilidad a Tecnologías Emergentes.
- Sección 1. Introducción curso
- Sección 2. Instalando nuestras herramientas de trabajo
- Sección 3. Conceptos de procesamiento en paralelo
- Sección 4. Hilos (Threads) y Procesos en Python
- Sección 5. Unión de Hilos (Threads) y Procesos
- Sección 6. Finalización forzada de Hilos (Threads) y Procesos
- Sección 7. Temporizadores de código
- Sección 8. Sincronía de Datos - Memoria Compartida entre Hilos (Threads)
- Sección 9. Sincronía de Datos - Memoria Compartida entre Procesos
- Sección 10. Grupos de Ejecución
- Sección 11. Comunicación en Paralelo con Eventos
- Sección 12. Sincronización con Objetos Condicionales
- Sección 13. Sincronización con Objetos Barrera
- Sección 14. Sincronización con Objetos Semáforo
- Sección 15. Comunicación Segura entre Hilos (Threads)
- Sección 16. Comunicación Segura entre Procesos
- Sección 17. Bloqueo Mutuo en Python
- Sección 18. Estructura Eficiente en Código
- Sección 19. Proyecto Final Explicación
- Sección 20. Proyecto Final Implementación
- Sección 21. Final del Curso
- Apéndice - Fundamentos de Python
- Estudiantes de ciencias de la computación buscando ampliar habilidades en programación concurrente.
- Científicos de datos optimizando procesamiento de grandes conjuntos de datos con programación paralela.
- Desarrolladores de software interesados en mejorar el rendimiento de programas en Python mediante computación paralela.
- Profesionales de la informática que desean dominar estrategias de optimización en Python.
- Ingenieros de software en busca de soluciones para desafíos en programación paralela.
- Programadores explorando técnicas avanzadas para mejorar eficiencia en Python.
- Estudiantes de ingeniería de software adquiriendo habilidades específicas en Python para computación paralela.
- Profesionales de TI actualizándose en tendencias de programación concurrente con Python.
- Emprendedores tecnológicos comprendiendo y aplicando estrategias de rendimiento en proyectos basados en Python.
- Entusiastas de programación buscando desafíos y oportunidades de aprendizaje en computación paralela con Python.