Project for the Algorithms and Data Structures course at the University of Helsinki