Teaching Beginners to Program: should we start with block-based, text-based, or both notations?
Tomaž Kosar, Srđa Bjeladinović, Dragana Ostojić, Milica Škembarević, Žiga Leber, Olga Jejić, Filip Furtula, Miloš Ljubisavljević, Ivan Luković, Marjan Mernik
DOI: http://dx.doi.org/10.15439/2024F448
Citation: Proceedings of the 19th Conference on Computer Science and Intelligence Systems (FedCSIS), M. Bolanowski, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 39, pages 395–403 (2024)
Abstract. Teaching programming poses countless challenges. One of them is determining the most effective notation to introduce coding concepts to beginners. This paper examines the merits and drawbacks of introducing block-based, text-based, or both notations at the same time when it comes to learning basic programming concepts. In this empirical study, we report on a controlled experiment during short-term visits that promoted programming in primary schools. Our multinational study divided participants into three groups, one using block-based, the other text-based, and one using both notations. After training, participants were solving practical programming assignments. The study results revealed that participants' performance was not influenced by notation usage, as there was no statistical significance between the three groups. However, the performance outcomes were correlated with the duration of the sessions. Our findings from the controlled experiment suggest that educators can confidently utilize different notations while teaching beginners the first steps in programming.
References
- B. Bubnič, M. Mernik, and T. Kosar, “Exploring the predictive potential of complex problem-solving in computing education: A case study in the introductory programming course,” Mathematics, vol. 12, no. 11, 2024. [Online]. Available: https://www.mdpi.com/2227-7390/12/11/1655
- M. Resnick, J. Maloney, A. Monroy-Hernández, N. Rusk, E. Eastmond, K. Brennan, A. Millner, E. Rosenbaum, J. Silver, B. Silverman et al., “Scratch: programming for all,” Communications of the ACM, vol. 52, no. 11, pp. 60–67, 2009.
- D. Wolber, H. Abelson, E. Spertus, and L. Looney, App inventor. O’Reilly Media, Inc., 2011.
- M. Homer and J. Noble, “A tile-based editor for a textual programming language,” in IEEE Working Conference on Software Visualisation (VISSOFT), 2013, pp. 1–4.
- D. Bau, D. A. Bau, M. Dawson, and C. S. Pickens, “Pencil code: block code for a text world,” in Proceedings of the 14th International Conference on Interaction Design and Children, 2015, pp. 445–448.
- Ž. Leber, M. Črepinek, and T. Kosar, “Simultaneous multiple representation editing environment for primary school education,” in 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 2019, pp. 175–179.
- C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, and A. Wesslén, Experimentation in software engineering. Springer Science & Business Media, 2012.
- T. Kosar, M. Mernik, and J. C. Carver, “Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments,” Empirical software engineering, vol. 17, pp. 276–304, 2012.
- L. Alves, D. Gajić, P. Rangel Henriques, V. Ivančević, V. Ivković, M. Lalić, I. Luković, M. J. Varanda Pereira, S. Popov, and P. Correia Tavares, “C tutor usage in relation to student achievement and progress: A study of introductory programming courses in Portugal and Serbia,” Computer Applications in Engineering Education, vol. 28, no. 5, pp. 1058–1071, 2020.
- J. Maloney, M. Resnick, N. Rusk, B. Silverman, and E. Eastmond, “The Scratch programming language and environment,” ACM Transactions on Computing Education, vol. 10, no. 4, pp. 138–144, 2010.
- V. Handur, P. D. Kalwad, M. S. Patil, V. G. Garagad, P. Yeligar, Nagaratna andPattar, D. Mehta, P. Baligar, and J. H., “Integrating class and laboratory with hands-on programming: Its benefits and challenges,” in IEEE 4th International Conference on MOOCs, Innovation and Technology in Education (MITE), 2016, pp. 163–168.
- O. M. Salant, M. Armoni, and M. Ben-Ari, “Habits of programming in Scratch,” in ITiCSE ’11: Proceedings of the 16th annual joint conference on Innovation and technology in computer science education, 2011, pp. 168–172.
- S. Cooper, W. Dann, and R. Pausch, “Alice: a 3-d tool for introductory programming concepts,” Journal of Computing Sciences in Colleges, vol. 15, no. 5, pp. 107–116, 2000.
- A. Martelli, A. M. Ravenscroft, S. Holden, and P. McGuire, Python in a Nutshell. " O’Reilly Media, Inc.", 2023.
- PYPL, “PYPL - popularity of programming language,” https://pypl.github.io/PYPL.html, accessed: 22.05.2024.
- A. C. Bart, J. Tibau, E. Tilevich, C. A. Shaffer, and D. Kafura, “BlockPy: An open access data-science environment for introductory programmers,” Computer, vol. 50, no. 5, pp. 18–26, 2017.
- D. Bau, “Droplet, a blocks-based editor for text code,” Journal of Computing Sciences in Colleges, vol. 30, no. 6, pp. 138–144, 2015.
- M. Kölling, “The Greenfoot Programming Environment,” ACM Transactions on Computing Education (TOCE), vol. 10, no. 4, pp. 1–21, 2010.
- M. Fowler, “Language Workbenches: The Killer-App for Domain Specific Languages? http://www.martinfowler.com, 2005.
- M. Voelter and V. Pech, “Language modularity with the MPS language workbench,” in 2012 34th International Conference on Software Engineering (ICSE). IEEE, 2012, pp. 1449–1450.
- D. Weintrop and U. Wilensky, “Comparing block-based and text-based programming in high school computer science classrooms,” ACM Trans. Comput. Educ., vol. 18, no. 1, oct 2017. [Online]. Available: https://doi.org/10.1145/3089799
- D. Weintrop and U. Wilensky, “Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms,” Computers & Education, vol. 142, p. 103646, 2019.
- F. T. Zhen Xu, Albert D. Ritzhaupt and K. Umapathy, “Block-based versus text-based programming environments on novice student learning outcomes: a meta-analysis study,” Computer Science Education, vol. 29, no. 2-3, pp. 177–204, 2019. [Online]. Available: https://doi.org/10.1080/08993408.2019.1565233
- D. Weintrop and U. Wilensky, “How block-based, text-based, and hybrid block/text modalities shape novice programming practices,” International Journal of Child-Computer Interaction, vol. 17, pp. 83–92, 2018. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S2212868917300314
- C. V. Alejandro Espinal and V. Guerrero-Bequis, “Student ability and difficulties with transfer from a block-based programming language into other programming languages: a case study in Colombia,” Computer Science Education, vol. 33, no. 4, pp. 567–599, 2023. [Online]. Available: https://doi.org/10.1080/08993408.2022.2079867
- Y. Lin and D. Weintrop, “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, vol. 67, p. 101075, 2021. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S259011842100054X
- T. Kosar, S. Bohra, and M. Mernik, “A Systematic Mapping Study driven by the margin of error,” Journal of Systems and Software, vol. 144, pp. 439–449, 2018.
- R. Feldt and A. Magazinius, “Validity threats in empirical software engineering research - an initial survey,” in 22nd International Conference on Software Engineering & Knowledge Engineering (SEKE’2010), Redwood City, San Francisco Bay, CA, USA, July 1 - July 3, 2010. Knowledge Systems Institute Graduate School, 2010, pp. 374–379.
- T. Kosar, S. Gaberc, J. C. Carver, and M. Mernik, “Program comprehension of domain-specific and general-purpose languages: replication of a family of experiments using integrated development environments,” Empirical Software Engineering, vol. 23, pp. 2734–2763, 2018.