1. A method performed by data processing apparatus, the method comprising: determining that a user completed an activity by providing a completion text code, including the granting of experience points for completed activity; identifying a user interface in the mobile app displaying experience points and associated achievements; tracking activities of the user to display their progress in attempting and failing activities to create practice and learning; identifying experience points as a measurement different than course grades to separate practice and optional activities from the required graded activities; providing a gamification engine for the course without modifying the course learning objectives or any graded activities already present in the course;