## 1 Introduction  
Among young learners, programming goes beyond simply writing code. It introduces them to computational thinking, which involves problem-solving using computer science concepts such as abstraction and decomposition. One way to teach children the basic programming concepts is through maze-based problems. A maze is a type of game in which a player navigates through branching pathways to find an exit or reach specific targets [1]. In the context of learning basic programming concepts, maze-based problems and games guide even the youngest learners on how to break down the problem into smaller tasks [2, 3]. More precisely, this approach requires them to identify the sequence of steps required to navigate (e.g., move forward, move left, and move right) through the maze or game board to reach a certain point or complete a task. Depending on the child's age, these games can be designed as unplugged activities, i.e., activities without the use of a computer and digital screens, activities with programmable robotic toys, mobile, web or desktop applications [4]. In digital games, the maze-making process involves designing the layout of paths and walls within the maze and various methods and algorithms exist to generate a maze [5]. Still, they generally fall into two categories: creating paths step by step within a maze initially enclosed by walls or constructing walls on an initially open field or space. Despite the number of well-known algorithms, the maze-making process remains a challenging area. This complexity arises from the need to balance algorithmic efficiency with creativity in design, ensuring that the generated mazes are not only solvable but also engaging and appropriately challenging for the intended audience. The integration of these algorithms into practical applications, such as games or educational tools, requires a deep understanding of user interaction, problem-solving strategies, and cognitive development, making the maze-making process a multidisciplinary challenge that extends beyond mere algorithmic design. Yet, existing research on the application of maze generation algorithms and their efficiency in creating solvable and appropriate mazes for the mobile game-based learning of basic programming concepts among young children is scarce. Therefore, this paper explores the application of several different maze generation algorithms within a game-based Android mobile application designed and developed to teach basic programming concepts to children and aims to answer the following research questions:  
1. How do different maze generation algorithms compare regarding time efficiency and space complexity in a mobile game-based learning environment? 2. Which algorithm is optimal for solving a generated maze in a mobile game-based learning environment? 3. What are the educational implications of using various maze generation algorithms in mobile applications designed to teach children basic programming concepts? The developed Android mobile application enables players to guide a sketched dog character through a maze using simple commands such as moving up, down, left, and right. Mobile devices are chosen as the platform for this application because they are widely used and highly accessible, especially among younger users. Their portability allows children to engage with educational content in various settings, whether at home, in the classroom, or on the go. This flexibility makes learning more integrated into daily life, supporting continuous educational engagement and enhancing the overall learning experience. Several maze generation algorithms are integrated into the application and tested to determine their characteristics and mutual differences, ensuring they can generate mazes of varying complexity suitable for different levels of education. The algorithms are evaluated based on their time complexity, space complexity, and suitability for creating progressively challenging mazes, which are crucial for maintaining user engagement and promoting deeper learning.