I/O-efficient algorithms, also known as external memory algorithms or cache-oblivious algorithms, are a class of algorithms designed to efficiently process data that is too large to fit entirely in the main memory (RAM) of a computer. These algorithms are particularly useful when dealing with massive datasets, such as those found in large-scale data processing, database management, and file systems.

Gain next-level skills with Coursera Plus for $199 (regularly $399). Save now.

(60 reviews)
Skills you'll gain
Details to know

Add to your LinkedIn profile
6 assignments
See how employees at top companies are mastering in-demand skills

There are 6 modules in this course
In this module we give an introduction to the course I/O-efficient algorithms. We discuss the so-called I/O-model, which consists of an internal memory of limited size, an external memory of unlimited size and where data transfer between these two happens in blocks of a given size. We give a simple example showing that the actual running time of an algorithm working on data in external memory is greatly influenced by its I/O-behavior. Finally, we discuss the basics of analyzing algorithms in the I/O-model.
What's included
5 videos1 reading1 assignment
In this module we discuss two techniques to design I/O-efficient algorithms, using the matrix-transposition problem as a running example. The first technique is a "tile-based" approach and leads to a cache-aware algorithm. The second technique uses a recursive approach and leads to a cache-oblivious algorithm.
What's included
3 videos1 reading1 assignment
When we want to read something from external memory while the internal memory is full we need to make room by evicting a block from internal memory. The block which should be evicted is decided by the replacement policy. In this module we introduce LRU and some other some well-known replacement policies, and investigate the I/O-efficiency of LRU compared to an optimal replacement policy.
What's included
1 video1 reading1 assignment
In this module we analyze the I/O-efficiency of MergeSort and discuss how to adapt it to make it more I/O-efficient.
What's included
2 videos1 reading1 assignment
In this module we introduce some I/O-efficient data structures: B-trees and buffer trees, and an I/O-efficient priority queue based on buffer trees.
What's included
3 videos1 reading1 assignment
In this module we discuss time-forward processing, a technique that can be used to evaluate so-called local functions on a directed acyclic graph.
What's included
4 videos1 reading1 assignment
Instructor

Offered by
Why people choose Coursera for their career




Learner reviews
60 reviews
- 5 stars
70%
- 4 stars
23.33%
- 3 stars
5%
- 2 stars
1.66%
- 1 star
0%
Showing 3 of 60
Reviewed on Nov 5, 2019
Everything was clearly explained and the questions were quite intuitive and checking my knowledge. More examples for different scenarios too would help us a lot to learn more.
Reviewed on May 8, 2022
The course is really good and the course material is also amazing. I highly reccomend it provided you have an interest in this specialization.
Reviewed on Sep 28, 2020
Really like the course. Though it's difficult and challenging, I managed to understand the concept. I will keep practicing.
Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
More questions
Financial aid available,




