Programación Concurrente y Distribuida#
El equipo!! 🦾🧠#

Facultad de ingeniería, Ingeniería de Sistemas
Ph. D. Reinel Tabares Soto
Ingeniero Electrónico - Universidad Nacional de Colombia
Ingeniero de Sistemas - Universidad de Caldas
Magister en Automatización Industrial - Universidad Nacional de Colombia
Especialista en Deep Learning - DeepLearning.AI
Doctor en Ingeniería - Universidad Autónoma de Manizales
Objetivos del curso:#
El curso se propone enseñar los fundamentos y técnicas avanzadas de programación concurrente y distribuida, enfocándose en el diseño, implementación y optimización de sistemas software que operen eficientemente en entornos paralelos y distribuidos, preparando a los estudiantes para resolver desafíos reales en computación de alto rendimiento.
Contenido del curso#
Unidad 1 📡
Clusters en computación paralela/distribuida
Unidad 2 🏛️
Arquitecturas para computación paralela
Unidad 3 🎯
Métricas de desempeño
Unidad 4 🧵
Manejo de hilos y sockets
Unidad 5 🚦
Infraestructura de cluster
Unidad 6 💻
Concurrencia para desarrollo web
Unidad 7 ⏳
OpenMP
Unidad 8 ⚡️
Multiprocessing
Unidad 9 🐆
Message Passing Interface (MPI)
Unidad 10 🔱
Compute Unified Device Architecture (CUDA)
Unidad 11 🧠
Inteligencia artificial (IA)
Información del curso#
Horarios de clases: Miercoles (2pm a 4pm) y jueves (4pm a 6:30pm)
La dedicación de tiempo es la base para completar con éxito el curso

Bibliografía#
Estas son algunas de las referencias usadas para este curso.
Reglas de Juego 🕹️📏#
Clases magistrales para conceptualización del tema
Quices
Trabajo en clase y actividades: Notebooks y repositorios
Proyecto Final

¿Qué vamos a ver durante el curso?#
- Unidad 1: Clusters en computación paralela/distribuida
- Unidad 2: Arquitecturas para computación paralela
- Unidad 3: Métricas de desempeño
- Unidad 4: Hilos y Sockets
- Unidad 5: Infraestructura de cluster
- Unidad 6: Concurrencia para desarrollo web
- Unidad 7: OpenMP
- Unidad 8: Multiprocessing
- Unidad 9: MPI
- Unidad 10: PyCUDA
- Proyecto final