Yamada Laboratory, Kyushu University

Which Method is Better for Learning Programming: Block-Based or Text-Based.


Hello everyone!
In this article, I’ll share the paper we discussed in our recent English literature seminar and my thoughts on it.

Paper Title: Using Multimodal Learning Analytics to Understand Effects of Block-based and Text-based Modalities on Computer Programming
Journal: Journal of Computer Assisted Learning
Pages: 63-75
Publication Year: 2024
Authors: Dan Sun, Fan Ouyang, Yan Li, Chengcong Zhu, Yang Zhou

Here, I will provide an overview of the paper’s content.

To master computer programming skills, there are two learning formats: block-based and text-based. In block-based programming learning, such as Scratch, visual shapes like blocks display the code as logically organized, usable commands, showing where and how specific commands can be used. For beginners, block-based programming is easier to understand and helps avoid syntax errors. On the other hand, text-based programming involves learning to write code in languages such as C or Java using traditional methods, rather than visual ones, requiring learners to have more advanced programming skills. Therefore, text-based programming is not something that can be replaced by block-based programming; rather, it is a learning stage that follows block-based programming. However, it is often reported that learners encounter syntax errors during text-based programming, which can become major obstacles and lead to dropouts from programming courses.

Previous research comparing block-based and text-based programming learning methods has primarily focused on learning outcomes and interest in programming. While learners need to build knowledge and actively solve problems in programming learning, the learning process itself, namely how learners engage with programming, has not been extensively studied. In this study, the authors utilize learning analytics to explore the differences in learner behavior and knowledge acquisition between the two learning formats: text-based and block-based programming.

In this study, an experiment was conducted to compare text-based and block-based programming learning among 64 middle school students across two classes in China. The learners were divided into two groups: a text-based group (32 students) and a block-based group (32 students). Throughout six lessons, learners in each group studied basic programming concepts such as sequential structures, selection structures, and loop structures, and practiced them practically on the Code4all platform. The block-based group used the drag-and-drop feature of blocks, while the text-based group practiced by typing commands character by character. Both classes were taught by the same teacher using a similar teaching style and content. In the sixth lesson, learners took a test on programming structures based on what they had learned. Additionally, to reveal the characteristics of learners’ programming behavior and knowledge acquisition, learning data including behavioral data from Code4all, screen recordings of coding sessions, and test scores were collected. These data were analyzed using methods such as clustering analysis and lag sequential analysis.

The analysis revealed that text-based learners wrote longer code and encountered more syntax errors, requiring more time for debugging. In contrast, block-based learners performed more operations and debugging trials on the platform, spending time on actions unrelated to the task. Additionally, while text-based learners frequently referred to external resources when correcting their code, block-based learners used visual cues to debug and correct their code. Furthermore, using covariance analysis with pre-test scores as covariates, the results indicated that block-based learners outperformed text-based learners in acquiring knowledge. These findings suggest that block-based learning methods are effective in acquiring programming knowledge and recommend their application in educational practices for introductory programming courses. Additionally, the study shows that learning behaviors alone do not fully reflect the outcomes in programming learning, indicating the need for an integration with comprehensive assessments. The frequent use of external resources by learners during their studies suggests that teachers should provide an appropriate learning environment and utilize external materials and resources to offer timely support. Finally, the authors point out limitations of this study such as the short duration of the survey period, technical constraints in synchronizing screen recordings with platform learning data, and the novelty of platform operation. They suggest that these areas require improvements in future research.

Here are my thoughts on reading this paper.

Initially, upon seeing the title, I thought this paper would focus on multimodal learning analytics (LA) analyzing behavioral and physiological information like facial expressions, gaze, and heart rate. However, it actually examined and compared text-based and block-based programming learning methods using LA, which I found very intriguing. The paper’s classification methods for block-based programming behaviors and the technique of visualizing cluster results with radar charts were very clear and informative. However, I have reservations about the interpretation of the study results. Since block-based and text-based programming target different learning stages, particularly given that this study focuses on introductory-level programming, it’s possible that block-based methods are inherently more effective than text-based ones. I look forward to future research exploring the optimal transition timing from block-based to text-based learning, as well as how to integrate these two learning formats effectively.

By: Xuewang Geng