Sorting algorithms play an important role in computing as presorted data can help optimize other algorithms. Over the years many such sorting algorithms have been developed, each of which works in a slightly different way to acomplish the task. However, some are faster than others. Sorting algorithm visualizers are a common portfolio project, however this one is done on a microcontroller development board, the STM32F746G-DISCO, for an added challenge.
Through the touch screen of the device, the user is able to generate a random dataset using the the hardware's random number generator (so real random numbers and not just pseduo-random ones!), select which sorting algorithm they want to use from an informative catalogue of various algorithms, and then watch the algorithm sort the data set so you can get a feel for how the different algorithms work and how much faster some are than others.