Course: Programming 6 credits: 5

Course code
BFVM23PROGRAM6
Name
Programming 6
Study year
2023-2024
ECTS credits
5
Language
English
Coordinator
F. Feenstra
Modes of delivery
  • Lecture
Assessments
  • Programming 6 - Assignment

Learning outcomes

  1. You understand the fundamental principles and architecture of cluster computing, including its advantages and limitations compared to traditional computing systems. 

  1. You analyze the requirements of a specific problem and choose appropriate cluster computing technologies and frameworks to design and implement a solution. 

  1. You design and deploy applications on cluster computing systems using various tools and frameworks, while considering factors such as scalability, fault tolerance, and load balancing. 

  1. You develop skills in monitoring and troubleshooting cluster computing systems to identify and resolve issues related to performance, security, and availability. 

Content

This course introduces cluster computing systems and their architecture, communication protocols, and fault tolerance mechanisms. It covers cluster job management systems like Slurm, and how to design and deploy applications for these systems. The course also covers Dask, a Python library for parallel computing on large datasets, and best practices in ML-OPS for efficient and scalable machine learning pipelines on cluster computing systems. 

Throughout the course, students will gain hands-on experience working with cluster computing systems, including designing, and implementing efficient algorithms, distributing data, and managing resources in a distributed environment. By the end of the course, students will be able to use Slurm and Dask for parallel computing tasks and implement ML-OPS best practices. Overall, the course provides the tools and knowledge necessary to design and implement efficient, scalable, and reliable cluster computing systems for various applications, including machine learning and data analysis. 

School(s)

  • Institute for Life Science & Technology