Course overview

This course explores algorithmic techniques for processing large-scale data efficiently when it cannot fit entirely into a computer’s main memory. You will learn how to design and analyse algorithms that minimise data transfers between fast internal memory and slower external storage, a critical consideration in modern data-intensive applications. The course combines theoretical foundations with practical approaches for handling massive datasets in areas such as databases, scientific computing, and big data systems. 

What you will learn:

  • Fundamentals of the I/O model and external memory computation.  
  • Design principles for I/O-efficient algorithms.  
  • Techniques for efficient sorting, searching, and data management on large datasets.  
  • Analysis of algorithm performance based on memory transfers and storage access.  
  • Data structures optimised for external memory environments.  
  • Applications of I/O-efficient algorithms in databases, big data, and large-scale computing. 

Follow the ‘go to course’ and sign up!