This document proposes an Android application to serve as an educational tool for visualizing algorithms and testing user knowledge. The application would have three main components: 1) A learning mode that visually demonstrates algorithms step-by-step; 2) A testing mode that allows users to manipulate data structures and verify their understanding; 3) Statistics on user errors to help instructors. The project aims to help students learn algorithms on mobile devices. It will focus on graph algorithms like Kruskal's minimum spanning tree and use randomly generated graphs for testing. The application will be developed in four stages: requirements gathering, design, infrastructure implementation, and user interface development.