An Automatic Analysis Tool Based on Computational Thinking for BlockPy Programs
Can Xu, Zhiyong Feng, Peng Qi, Yan Sun · 2020
BlockPy is a block-based program language which has both block-based interface and traditional text-based interface. It fills the gap between block-based programming and language coding. But there is little work that focuses on the Computational Thinking(CT) evaluation of BlockPy programs. In this paper, we design and implement a BlockPy Analysis Tool to assess the CT skills of BlockPy programs automatically. We use Python's built-in AST module to analyse each node in the abstract syntax tree(AST) of each BlockPy program. Then, considering the characteristics of Python language, we propose a new CT Evaluation Criteria based on Scratch Analysis Tool(SAT). Under the guidance of the CT Evaluation Criteria, we propose a detailed scoring program to analyze each node of the program and get the CT score. Experimental results show the superiority of our tool compared with other analysis tools.