::: Home > Instruction
At the University of the Philippines Los Baños (UPLB), we offer two distinct courses in parallel computing that prepare students to address the growing need for scalable, high-performance computation in today’s data-driven world. These courses build on the fundamentals of parallelism, developing students' technical skills and theoretical understanding, with applications ranging from scientific computing to real-world problem-solving.
CMSC 180: Introduction to Parallel Computing is designed for undergraduate students eager to explore the basics of parallel computing. This course introduces the core concepts of parallelism, including speedup, scalability, and load balancing, through both theoretical and hands-on learning. Students will work with shared-memory and distributed-memory systems, exploring how tasks can be split and processed simultaneously for more efficient computation.
Understand the fundamentals of parallel computing models and their applications.
Develop parallel algorithms that leverage multiple processors for enhanced performance.
Gain experience with Message Passing Interface (MPI), a critical tool for parallel programming in modern computational environments.
By the end of the course, students will have a solid grasp of parallel programming techniques and will be able to implement parallel algorithms to solve practical problems in fields like simulations, data analysis, and more.
All instructional content for CMSC 180, including readings, exercises, and projects, is accessible by UPLB constituents via this website, forming a comprehensive course pack that emphasizes real-world applications and hands-on learning.
CMSC 280: Parallel Processing is a graduate-level course that builds upon the foundations laid in CMSC 180. This advanced course dives deeper into complex topics in parallel computing, with a focus on performance optimization, parallel algorithms for scientific computing, and the efficient use of heterogeneous computing architectures (multi-core, GPU, and distributed systems).
Master advanced parallel programming techniques and algorithms, with a focus on performance and scalability.
Explore parallel task scheduling, synchronization, and parallel debugging in high-performance computing systems.
Implement parallel solutions for real-world problems in scientific computing, machine learning, and data analytics.
CMSC 280 bridges the gap between theoretical knowledge and practical expertise, equipping graduate students with the skills needed to handle the computational challenges of modern research.
Like CMSC 180, CMSC 280’s course content are available for UPLB constituents via this website, including a collection of research-driven exercises, readings, and collaborative projects.
Both courses represent UPLB’s commitment to advancing knowledge in the field of parallel computing. Whether you’re starting your journey with CMSC 180 or building on existing knowledge with CMSC 280, you will gain the skills needed to tackle real-world computational problems, from high-performance simulations to machine learning algorithms. We aim to foster critical thinking, creativity, and collaboration among students, preparing them for careers in research, industry, and beyond.
::: Home > Instruction