Abstract
In the current era where computational literacy holds significant relevance, a growing number of schools across the globe have placed emphasis on K-12 programming education. This field of education primarily comprises two distinct modalities—the block-based programming modality (BPM) and the text-based programming modality (TPM). Previous research may not have provided a complete understanding of the differences between these two modalities as it did not take into account both the learning process and learning outcomes. This study aimed to compare secondary students’ programming behaviors, computational thinking skills, and attitudes toward programming between the two modalities through a quasi-experimental design in a Chinese secondary school. The findings showed that (1) learners in TPM encountered more syntactical errors and spent more time between two clicks of debugging, while learners in BPM had more code-changing behaviors by adjusting programming blocks, made more attempts of debugging, and had more irrelevant behaviors; (2) learners in BPM achieved a higher level of computational thinking skills; (3) learners in both modalities experienced a slight decrease in confidence and enjoyment, while learners in BPM had higher interest levels in programming. (4) Code Changer, Minimal Debugger, Maximal Debugger, Distracted Coder and Average Coder were identified through students’ programming behavior in the two programming modalities, and differences in their CT skills and attitudinal data were revealed. Lastly, pedagogical implications based on the findings are also discussed.
Similar content being viewed by others
Data availability
The data can be made available upon request from the corresponding authors.
References
Allsop, Y. (2019). Assessing computational thinking process using a multiple evaluation approach. International Journal of Child-Computer Interaction, 19, 30–55. https://doi.org/10.1016/j.ijcci.2018.10.004
Alshaigy, B., Kamal, S., Mitchell, F., Martin, C., & Aldea, A. (2015). Pilet: an interactive learning tool to teach python. In Judith, G. E., Sue, S., & Jan, V. (Eds.), WiPSCE’15: Proceedings of the workshop in primary and secondary computing education (pp. 76–79). ACM.
Angeli, C., Voogt, J., Fluck, A., Webb, M., Cox, M., Malyn-Smith, J., & Zagami, J. (2016). A K-6 computational thinking curriculum framework: Implications for teacher knowledge. Educational Technology & Society, 19(3), 47–57.
Armoni, M., Meerbaum-Salant, O., & Ben-Ari, M. (2015). From scratch to “real” programming. ACM Transactions on Computing Education, 14(25), 1–15. https://doi.org/10.1145/2677087
Bai, X. M., & Gu, X. Q. (2019). Research on the construction and application of the computational thinking instrument in K12. China Educational Technology, 10, 83–90.
Bau, D., Gray, J., Kelleher, C., Sheldon, J., & Turbak, F. (2017). Learnable programming: Blocks and beyond. Communications of the ACM, 60, 72–80. https://doi.org/10.1145/3015455
Bey, A., Pérez-Sanagustín, M., & Broisin, J. (2019). Unsupervised automatic detection of learners’ programming behavior. In Scheffel, M., Broisin, J., Pammer-Schindler, V., Ioannou, A., & Schneider, J. (Eds.), EC-TEL 2021: Proceedings of the European conference on technology enhanced learning (pp. 69–82). Springer.
Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. In Arnetha, F. B., & Cynthia, A. T. (Eds.), AERA’ 12: Proceedings of the 2012 annual meeting of the American educational research association (pp. 1–25). AERA.
Dijkstra, E. (1982). How do we tell truths that might hurt? ACM SIGPLAN Notices, 17(5), 13–15. https://doi.org/10.1145/947923.947924
Doleck, T., Bazelais, P., Lemay, D. J., Saxena, A., & Basnet, R. B. (2017). Algorithmic thinking, cooperativity, creativity, critical thinking, and problem solving: Exploring the relationship between computational thinking skills and academic performance. Journal of Computers in Education, 4(4), 355–369. https://doi.org/10.1007/s40692-017-0090-9
Duncan, C., Bell, T., & Tanimoto, S. (2014). Should your 8-year-old learn coding? In Carsten, S., Michael, E. C., & Judith, G. E. (Chairs), WiPSE’13: Proceedings of the 9th workshop in primary and secondary computing education (pp.60–69). ACM.
Durak, H. Y., & Saritepeci, M. (2018). Analysis of the relation between computational thinking skills and various variables with the structural equation model. Computers & Education, 116, 191–202. https://doi.org/10.1016/j.compedu.2017.09.004
Dutt, A., Aghabozrgi, S., Ismail, M. A. B., & Mahroeian, H. (2015). Clustering algorithms applied in educational data mining. International Journal of Information and Electronics Engineering, 5(2), 112. https://doi.org/10.7763/IJIEE.2015.V5.513
Eid, C., & Millham, R. (2012). Which introductory programming approach is most suitable for learners: Procedural or visual programming. American Journal of Business Education, 5(2), 173–178. https://doi.org/10.19030/ajbe.v5i2.6819
Estey, A., & Coady, Y. (2016). Can interaction patterns with supplemental study tools predict outcomes in CS1? In Alison, C., Ernesto, C. V. (Chairs), ITiCSE’16: Proceedings of the 2016 ACM conference on innovation and technology in computer science education (pp. 236–241). ACM. https://doi.org/10.1145/2899415.2899428
Falloon, G. (2016). An analysis of young learners’ thinking when completing basic coding tasks using Scratch Jnr. on the iPad. Journal of Computer Assisted Learning, 32(6), 576–593. https://doi.org/10.1111/jcal.12155
Fay, M. P., & Proschan, M. A. (2010). Wilcoxon-mann-whitney or t-test? On assumptions for hypothesis tests and multiple interpretations of decision rules. Statistics Surveys, 4, 1–39. https://doi.org/10.1214/09-SS051
García, D., Harvey, B., & Barnes, T. (2015). The beauty and joy of computing. ACM Inroads, 6, 71–79. https://doi.org/10.1145/2835184
Garneli, V., & Chorianopoulos, K. (2018). Programming video games and simulations in science education: Exploring computational thinking through code analysis. Interactive Learning Environments, 26(3), 386–401. https://doi.org/10.1080/10494820.2017.1337036
Giannakos, M. N., Koilias, C., Vlamos, P., & Doukakis, S. (2013). Measuring students’ acceptance and confidence in algorithms and programming: The impact of engagement with CS on greek secondary education. Informatics in Education, 12(2), 207–219.
Grover, S. (2021). Teaching and assessing for transfer from block-to-text programming in middle school computer science. In C. Hohensee & J. Lobato (Eds.), Transfer of learning. Research in mathematics education. Springer.
Grover, S., & Basu, S. (2017). Measuring student learning in introductory block-based programming: Examining misconceptions of loops, variables, and boolean logic. In Michael, E. C., & Stephen, H. E. (Eds.), SIGCSE’17: Proceedings of the 2017 ACM SIGCSE technical symposium on computer science education (pp. 267–272). ACM.
Grover, S., Pea, R., & Cooper, S. (2015). Designing for deeper learning in a blended computer science course for middle school learners. Computer Science Education, 25(2), 199–237. https://doi.org/10.1080/08993408.2015.1033142
HelloGitHub. (2023, July 24). Programming Language Rankings in June 2023. https://hellogithub.com/report/tiobe/
Howland, K., & Good, J. (2014). Learning to communicate computationally with flip: a bi-modal programming language for game creation. Computers & Education, 80, 224–240. https://doi.org/10.1016/j.compedu.2014.08.014
ISTE. (2015). CT leadership toolkit. Retrieved 2015, http://www.iste.org/docs/ctdocuments/ct-leadershipt-toolkit.pdf?sfvrsn¼4.
Jiang, B., Zhao, W., Gu, X., & Yin, C. (2021). frame: a case study from scratch online community. Educational Technology Research and Development, 69(5), 2399–2421. https://doi.org/10.1007/s11423-021-10021-8
Jocius, R., O’Byrne, W. I., Albert, J., Joshi, D., Robinson, R., & Andrews, A. (2021). Infusing computational thinking into STEM teaching: From professional development to classroom practice. Educational Technology & Society, 24(4), 166–179.
Katai, Z. (2015). The challenge of promoting algorithmic thinking of both sciences-and humanities-oriented learners. Journal of Computer Assisted Learning, 31(4), 287–299. https://doi.org/10.1111/jcal.12070
Kölling, M., Brown, N., & Altadmri, A. (2015). Frame-based editing: Easing the transition from blocks to text-based programming. In Judith, G. E., Sue, S., & Jan, V. (Eds.), WiPSCE '15: Proceedings of the workshop in primary and secondary computing education (pp. 29–38). ACM.
Korkmaz, Ö., Çakir, R., & Özden, M. Y. (2017). A validity and reliability study of the computational thinking scales (CTS). Computers in Human Behavior, 72, 558–569.
Lin, Y., & Weintrop, D. (2021). The landscape of Block-based programming: Characteristics of block-based environments and how they support the transition to text-based programming. Journal of Computer Languages, 67, 101075. https://doi.org/10.1016/j.cola.2021.101075
Ma, H., Zhao, M., Wang, H., Wan, X., Cavanaugh, T. W., & Liu, J. (2021). Promoting pupils’ computational thinking skills and self-efficacy: A problem-solving instructional approach. Educational Technology Research and Development, 69(3), 1599–1616. https://doi.org/10.1007/s11423-021-10016-5
MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations. In Lucien, M. L. C., & Jerzy, N. (Eds.), Proceedings of the fifth Berkeley symposium on mathematical statistics and probability (pp. 281–297). Berkeley.
Maloney, J. H., Peppler, K., Kafai, Y., Resnick, M., & Rusk, N. (2008). Programming by choice: Urban youth learning programming with scratch. SIGCSE Bulletin, 40(1), 367–371. https://doi.org/10.1145/1352322.1352260
Mannila, L., Dagiene, V., Demo, B., Grgurina, N., Mirolo, C., Rolandsson, L., et al. (2014). Computational thinking in K-9 education. Proceedings of the working group reports of the 2014 on innovation & technology in computer science education conference, ITiCSE-WGR 2014 (1–29). ACM.
Ministry of Education. (2017). General high school information technology curriculum standard (2017 Edition). Ministry of Education of the People’s Republic of China website. http://www.moe.gov.cn/jyb_xxgk/xxgk_jyta/jyta_kjs/202002/.html
Mladenović, M., Boljat, I., & Žanko, Ž. (2018). Comparing loops misconceptions in block-based and text-based programming languages at the K-12 level. Education and Information Technologies, 23(4), 1483–1500. https://doi.org/10.1007/s10639-017-9673-3
Munson, J. P., & Zitovsky, J. P. (2018). Models for early identification of struggling novice programmers. In Tiffany, B., & Daniel, G. (Chairs), SIGCSE’18: Proceedings of the 49th ACM technical symposium on computer science education (pp. 699–704). ACM. https://doi.org/10.1145/3159450.3159476
Nolan, K., & Bergin, S. (2016). The role of anxiety when learning to program: A systematic review of the literature. In Judy, S., & Calkin, S. M. (Eds.), Koli Calling’16: Proceedings of the 16th koli calling international conference on computing education research (pp. 61–70). ACM.
Noone, M., & Mooney, A. (2018). Visual and textual programming languages: A systematic review of the literature. Journal of Computers in Education, 5(2), 149–174. https://doi.org/10.1007/s40692-018-0101-5
Ochoa, X. (2017). Chapter 11: multimodal learning analytics. In C. Lang, G. Siemens, A. Wise, & D. Gašević (Eds.), Handbook of learning analytics (1st ed., pp. 143–150). Creative Commons License.
Pellas, N., & Vosinakis, S. (2018). The effect of simulation games on learning computer programming: A comparative study on high school students’ learning performance by assessing computational problem-solving strategies. Education and Information Technologies, 23(6), 2423–2452. https://doi.org/10.1007/s10639018-9724-4
Pereira, F. D., Oliveira, E., Cristea, A., Fernandes, D., Silva, L., Aguiar, G., Alamri, A., & Alshehri, M. (2019). Early dropout prediction for programming courses supported by online judges. In I. Seiji, M. A. O. Eva, H. Peter, M. Bruce, & L. Rose (Eds.), Artificial intelligence in education (pp. 67–72). Springer. https://doi.org/10.1007/978-3-030-23207-8_13
Pereira, F. D., Oliveira, E. H. T., Oliveira, D. B. F., Cristea, A. I., Carvalho, L. S. G., Fonseca, S. C., Toda, A., & Isotani, S. (2020). Using learning analytics in the Amazonas: Understanding students’ behaviour in introductory programming. British Journal of Educational Technology, 51(4), 955–972. https://doi.org/10.1111/bjet.12953
Price, T.W., & Barnes, T. (2015) Comparing textual and block interfaces in a novice programming environment. In Brian, D. (Eds.), ICER'15: Proceedings of the eleventh annual international conference on international computing education research (pp.91–99). ACM.
Riley, D. D., & Hunt, K. A. (2014). Computational thinking for the modern problem Solver. CRC Press.
Rojas-López, A., & García-Peñalvo, F. J. (2018). Learning scenarios for the subject methodology of programming from evaluating the computational thinking of new students. Revista Iberoamericana De Tecnologias Del Aprendizaje, 13(1), 30–36. https://doi.org/10.1109/RITA.2018.2809941
Román-González, M., Pérez-González, J. C., & Jiménez-Fernández, C. (2017). Which cognitive abilities underlie computational thinking? Criterion validity of the computational thinking test. Computers in Human Behavior, 72, 678–691. https://doi.org/10.1016/j.chb.2016.08.047
Rousseeuw, P. J. (1987). Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, 20, 53–65.
Scherer, R., Siddiq, F., & Sánchez Viveros, B. (2020). A meta-analysis of teaching and learning computer programming: Effective instructional approaches and conditions. Computers in Human Behavior, 109, 106349. https://doi.org/10.1016/j.MoB.2020.106349
Sherin, B. L. (2001). A comparison of programming languages and algebraic notation as expressive languages for physics. International Journal of Computers for Mathematical Learning, 6(1), 1–61. https://doi.org/10.1023/A:1011434026437
Shi, L., & Cristea, A. I. (2018). In-depth exploration of engagement patterns in MOOCs. In Hakim, H., Wojciech, C., Hua, M., Hye-Young, P., & Rui, Zhou. (Eds.), ICWE 2019: Proceedings of the 19th international conference on web information systems engineering (pp. 395–409). Springer.
Shi, L., Cristea, A. I., Toda, A. M., & Oliveira, W. (2019). Revealing the hidden patterns: A comparative study on profiling subpopulations of MOOC learners. In Siarheyeva. A., Barry. C., Lang, M., Linger, H., & Schneider, C. (Eds.), Proceedings of the 28th international conference on information systems development. Springer.
Streiner, D. L. (2003). Starting at the beginning: An introduction to coefficient Alpha and internal consistency. Journal of Personality Assessment, 80, 99–103. https://doi.org/10.1207/S15327752JPA8001_18
Sun, D., Ouyang, F., Li, Y., & Chen, H. (2021). Three contrasting pairs’ collaborative programming processes in China’s secondary education. Journal of Educational Computing Research, 1(8), 54.
Taub, R., Armoni, M., & Ben-Ari, M. (2012). CS unplugged and middle-school learners’ views, attitudes, and intentions regarding CS. ACM Transactions on Computing Education, 12(2), 1–29. https://doi.org/10.1145/2160547.2160551
Tempel, M. (2013). Blocks programming. CSTA Voice.
TIOBE. (2023). TIOBE Index for August 2023. https://www.tiobe.com/tiobe-index/
Tsai, M. J., Liang, J. C., & Hsu, C.-Y. (2021). The computational thinking scale for computer literacy education. Journal of Educational Computing Research, 59(4), 579–602. https://doi.org/10.1177/0735633120972356
Weintrop, D. (2015). Comparing text-based, blocks-based, and hybrid blocks/text programming tools. Brian, D. (Ed.), Proceedings of the eleventh annual international conference on international computing education research (pp. 283–284). ACM.
Weintrop, D., & Wilensky, U. (2015). To block or not to block, that is the question: Learners’ perceptions of blocks-based programming. In Marina, U. B., & Glenda, R. (Eds.), Proceedings of the 14th international conference on interaction design and children (pp. 199–208). ACM.
Weintrop, D., & Wilensky, U. (2017). Comparing block-based and text-based programming in high school computer science classrooms. ACM Transactions on Computing Education, 18(1), 1–25. https://doi.org/10.1145/3089799
Weintrop, D., & Wilensky, U. (2019). Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms. Computers & Education, 142(103646), 1–17. https://doi.org/10.1016/j.compedu.2019.103646
Wilson, A., & Moffat, D. C. (2010). Evaluating Scratch to introduce younger schoolchildren to programming. SCRATCHED website. https://scratched.gse.harvard.edu/resources/evaluating-scratch-introduce-younger-schoolchildren-programming.html
Wing, J. (2008). Computational thinking and thinking about computing. Philosophical Transactions of the Royal Society A, 366, 3717–3725. https://doi.org/10.1098/rsta.2008.0118
Wing, J. (2011). Computational thinking—what and why? Carnegie Mellon.
Wing, J. (2014). Computational thinking benefits society. Social issues in computing website. http://socialissues.cs.toronto.edu/index.html%3Fp=279.html.
Wu, B., Hu, Y., Ruis, A. R., & Wang, M. (2019). Analysing computational thinking in collaborative programming: A quantitative ethnography approach. Journal of Computer Assisted Learning, 35(3), 421–434. https://doi.org/10.1111/jcal.12348
Yucer, Y., & Rizvanoglu, K. (2019). Battling gender stereotypes: A user study of a code-learning game, “Code combat”, with middle school children. Computers in Human Behavior, 99, 352–365. https://doi.org/10.1016/j.MoB.2019.05.029
Acknowledgements
This work was supported by the National Natural Science Foundation of China (NSFC) [grant number 62307011]; the National Natural Science Foundation of China (NSFC) [grant number 61977057]; Guangdong Basic and Applied Basic Research Foundation, China [Grant No. 2021A1515110081]; Guangdong Planning Office of Philosophy and Social Science, China [Grant No. GD22XJY12]; Shenzhen Science, Technology and Innovation Commission, China [Grant No. 20220810115236001].
Funding
This work was funded by National Natural Science Foundation of China (Grant No. 62307011), Dan Sun. National Natural Science Foundation of China (NSFC) (Grant No. 61977057), Yan Li. Guangdong Basic and Applied Basic Research Foundation (Grant No. 2021A1515110081), Miaoting Cheng. Guangdong Planning Office of Philosophy and Social Science (Grant No. GD22XJY12), Miaoting Cheng. Science, Technology and Innovation Commission of Shenzhen Municipality (Grant No. 20220810115236001), Miaoting Cheng.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
We declare that we have no financial and personal relationships with other people or organizations that can inappropriately influence our work, there is no professional or other personal interest of any nature or kind in any product, service and/or company that could be construed as influencing the position presented in, or the review of, the manuscript entitled.
Informed consent
Informed consent was obtained from all individual participants included in the study.
Research involving human and animal rights
All procedures performed in studies involving human participants were in accordance with the ethical standards of the institutional and/or national research committee.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Sun, D., Looi, CK., Li, Y. et al. Block-based versus text-based programming: a comparison of learners’ programming behaviors, computational thinking skills and attitudes toward programming. Education Tech Research Dev (2024). https://doi.org/10.1007/s11423-023-10328-8
Accepted:
Published:
DOI: https://doi.org/10.1007/s11423-023-10328-8