CodeMaster – Automatic Assessment and Grading of App Inventor and Snap! Programs

The development of computational thinking is a major topic in K-12 education. Many of the current experiences focus on teaching programming using block-based languages. As part of these activities, it is important for students to receive feedback on their assignments. Yet, in practice it may be difficult to provide personalized, objective and consistent feedback.  In this context, automatic assessment and grading has become important. While there exist diverse graders for text-based languages, support for block-based programming languages is still scarce.

CodeMaster is a free web application that in a problem-based learning context allows to automatically assess and grade projects programmed with App Inventor and Snap! with respect to programming and user interface design concepts.

Try it out!

The assessment model of computational thinking (ALVES, 2019) defining a rubric was systematically developed based on curriculum guidelines, the framework defined by Brennan & Resnick (2012) and the mobile CT rubric (Sherman and Martin, 2015) (Sherman et al. al., 2014). Results from a large-scale evaluation with more than 88,000 applications created with App Inventor ​​indicate that the model is reliable (Cronbach’s alpha = 0.84). The interface design evaluation model (JUSTEN 2019) was defined based on the theory of visual design and guides (Material Design and WCAG 2.0), defining a rubric. The reliability and validity of the rubric were evaluated through an analysis with 978 projects from the App Inventor Gallery. The results indicate that the CodeMaster UI Design rubric can be considered reliable (Cronbach’s alpha = 0.72).

These dimensions are measured by analyzing the source code of the programs created adopting static code analysis to measure the kind and number of blocks used in the program quantifying criteria such as control statement, data, interaction, etc. Then based on a rubric, the programming projects are assessed and a score and grade is assigned.


Students can use the tool to get feedback to encourage them to improve their programming competencies.

It can also be used by teachers for assessing whole classes easing their workload.

CodeMaster is registered as a software BR512018051790-0 by INPI.

Do you want to know more about our research in this area?

Check out our publications here.