Educating young students in computer science remains a challenge despite the rapid progress of CS technologies over the past decades. Thus, I developed Codester, a novel, original Android application, that teaches novice users the principles of CS. Users learn sequencing, code reuse, decision-making, iteration, and efficiency. Unlike other CS education tools, Codester appeals to young users because it requires little reading or prior coding knowledge, it promotes rapid self-guided learning through a game structure, and it utilizes the accessible, mobile medium. During multiple user test studies of grades 1-8, students showed rapid improvement in all coding concepts that Codester teaches. A majority of students reflected that Codester was more engaging than a different, web-based program, since it was a challenging game rather than a script of commands. Boys and girls alike engaged with Codester and enjoyed working with the mobile platform. Thus, this teaching tool is effective in teaching young users CS concepts.