Comparative Analysis of Two Programming Platforms for Beginners: Python and Scratch

PDF (1304KB), PP.46-62

Views: 0 Downloads: 0

Author(s)

Aderonke Busayo Sakpere 1,* Adedeji Folashade 1

1. Department of Computer Science, University of Ibadan, Ibadan, Nigeria

* Corresponding author.

DOI: https://doi.org/10.5815/ijeme.2024.05.05

Received: 26 Feb. 2024 / Revised: 21 Mar. 2024 / Accepted: 10 Apr. 2024 / Published: 8 Oct. 2024

Index Terms

Introductory Programming Education, Scratch, Python, Comparative Analysis, Learning Experiences, Computational thinking, Thematic Analysis, Sysyem Usability Scale

Abstract

This research paper conducts a comparative analysis of Python and Scratch, exploring their strengths and weaknesses in introductory programming education. While Scratch serves as an excellent starting point, it has limitations, prompting discussions about its suitability for all learners. Some argue that starting with Scratch facilitates a smoother transition into Python, while others suggest its effectiveness in attracting beginners to computer science. The study, conducted over 12 weeks among beginners in a Nigerian higher institution, aims to assess factors such as ease of learning, versatility, community support, and real-world application on both platforms. The first 4 weeks, participants were introduced to Scratch, then were introduced to Python from week 5 to 8 and finally week 9 to 12 were to work on projects and compare both platforms. 
The research delves into the experiences of participants lacking prior programming experience, emphasizing the exploration of thematic analysis, System Usability Scale (SUS) scores and individual responses. A total of four evaluations were carried out.  Results from the thematic analysis of the 1st evaluation using thematic analysis reveals that Scratch has the ability to foster computational thinking. The 2nd evaluation reveals that Scratch is preferred for tasks such as game development which has the ability to further deepen their programming experience. In the third evaluation, 46.3% of the participants agreed that experience gained from Scratch was helpful in learning Python while 70% agreed to some or a great extent that knowledge and skills acquired from learning Scratch was transferable to learning Python. The fourth evaluation was to understand the ease of use of Scratch versus Python using SUS.  The results from SUS notably reveal that the limited number of female participants showed intriguing preferences, with a lone female participant indicating a higher preference for Scratch. However, examining individual responses revealed a consistent outlier, with all participants expressing a higher preference for using Python more frequently than Scratch, despite their initial exposure to both platforms. This research suggests that the choice between Python and Scratch goes beyond syntax preferences, involving pedagogical strategies and the learning experiences each platform offers. 
This research contributes insights into the effectiveness of Scratch and Python in an educational setting, offering a nuanced understanding of the preferences and experiences of beginners. The findings underscore the importance of considering not only platform features but also individual learning experiences and pedagogical strategies in shaping programming education for novices.

Cite This Paper

Aderonke Busayo Sakpere, Adedeji Folashade, "Comparative Analysis of Two Programming Platforms for Beginners: Python and Scratch", International Journal of Education and Management Engineering (IJEME), Vol.14, No.5, pp. 46-62, 2024. DOI:10.5815/ijeme.2024.05.05

Reference

[1]Robins, A. V. (2019). 12 novice programmers and introductory programming. The Cambridge handbook of computing education research, 327.
[2]Sakpere, A. B. (2021). Supporting the Learning and Teaching of a Practical-Based Course using Mobile Phone Technology. University of Ibadan Journal of Science and Logics in ICT Research, 6(1 and 2), 145-157.
[3]Eteng, I., Akpotuzor, S., Akinola, S. O., & Agbonlahor, I. (2022). A review on effective approaches to teaching computer programming to undergraduates in developing countries. Scientific African, 16, e01240
[4]Skaarseth, L. K. (2023). Investigating the transfer from Scratch to Python in Norwegian secondary school (Master's thesis).
[5]Balreira, D. G., Silveira, T. L. D., & Wickboldt, J. A. (2023). Investigating the impact of adopting Python and C languages for introductory engineering programming courses. Computer Applications in Engineering Education, 31(1), 47-62.
[6]Sakpere, A. B. (2019). Using social platforms to increase engagement in teaching computer programming. In Extended Abstracts of the 2019 CHI Conference on Human Factors in Computing Systems (pp. 1-6).
[7]Kelly, W., McGrath, B., & Hubbard, D. (2023). Starting from ‘scratch’: Building young people’s digital skills through a coding club collaboration with rural public libraries. Journal of Librarianship and Information Science, 55(2), 487-499.
[8]Elhalid, O. B., Alm Alhelal, Z., & Hassan, S. (2023). Exploring the Fundamentals of Python Programming: A Comprehensive Guide for Beginners. SAMER, Exploring the Fundamentals of Python Programming: A Comprehensive Guide for Beginners.
[9]Federici, S., Gola, E., & Sergi, E. (2023). Is the Scratch Programming Environment Ideal for all? Enhancements to the Scratch IDE to Make it Easier to Use and More Useful for Students and Teachers.
[10]Mueller, J. P. (2023). Beginning programming with Python for dummies. John Wiley & Sons.
[11]Hetland, M. L. (2017). Beginning Python: from novice to professional. Apress.
[12]Khoirom, S., Sonia, M., Laikhuram, B., Laishram, J., & Singh, T. D. (2020). Comparative analysis of Python and Java for beginners. Int. Res. J. Eng. Technol, 7(8), 4384-4407.
[13]Papadakis, Stamatios, et al (2014). "Novice programming environments. Scratch & app inventor: a first comparison." Proceedings of the 2014 workshop on interaction design in educational environments.
[14]Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., ... & Kafai, Y. (2009). Scratch: programming for all. Communications of the ACM, 52(11), 60-67.
[15]Gökçe, S., & Yenmez, A. A. (2023). Ingenuity of scratch programming on reflective thinking towards problem solving and computational thinking. Education and Information Technologies, 28(5), 5493-5517.
[16]Xie, B. X. Y. (2016). Progression of computational thinking skills demonstrated by app inventor users (Doctoral dissertation, Massachusetts Institute of Technology).
[17]Maloney, L. Burd, Y. Kafai, N. Rusk, B. Silverman and M. Resnick (2004), "Scratch: a sneak preview [education]," Proceedings. Second International Conference on Creating, Connecting and Collaborating through Computing, 2004., Kyoto, Japan, 2004, pp. 104-109, doi: 10.1109/C5.2004.1314376.
[18]Wolz, U., Leitner, H. H., Malan, D. J., & Maloney, J. (2009). Starting with scratch in CS 1. In Proceedings of the 40th ACM technical symposium on Computer science education (pp. 2-3).
[19]Moreno-León J. and Robles G. (2016), "Code to learn with Scratch? A systematic literature review," 2016 IEEE Global Engineering Education Conference (EDUCON), Abu Dhabi, United Arab Emirates, pp. 150-156, doi: 10.1109/EDUCON.2016.7474546.
[20]Kazemitabaar, M., Chyhir, V., Weintrop, D., & Grossman, T. (2022). Codestruct: Design and evaluation of an intermediary programming environment for novices to transition from scratch to python. In Proceedings of the 21st Annual ACM Interaction Design and Children Conference (pp. 261-273).
[21]Zdawczyk, C., & Varma, K. (2022). Engaging girls in computer science: Gender differences in attitudes and beliefs about learning scratch and python. Computer Science Education, 1-21.
[22]Jalal Nouri, Lechen Zhang, Linda Mannila & Eva Norén (2019): Development of computational thinking, digital competence and 21st century skills when learning programming in K-9, Education Inquiry, DOI: 10.1080/20004508.2019.1627844
[23]Van Toll, W., Egges, A., Fokker, J. D., van Toll, W., Egges, A., & Fokker, J. D. (2019). What Is Programming?. Learning C# by Programming Games, 9-23.
[24]Damianos Gavalas, Daphne Economou. Mobile Applications Programming Platforms and Development Tool. Handbook of Research on Mobile Software Engineering, (2012), 250-264. DOI: 10.4018/978-1-61520-655-1.ch015. 
[25]Efecan, C. F., Sendag, S., & Gedik, N. (2020). Pioneers on the Case for Promoting Motivation to Teach Text-Based Programming. Journal of Educational Computing Research, 59(3), 453–469. doi:10.1177/0735633120966048 
[26]Lavy, S. (2019). A Review of Character Strengths Interventions in Twenty-First-Century Schools: their Importance and How they can be Fostered. Applied Research in Quality of Life. doi:10.1007/s11482-018-9700-6 
[27]Su, Y. S., Shao, M., & Zhao, L. (2022). Effect of mind mapping on creative thinking of children in scratch visual programming education. Journal of Educational Computing Research, 60(4), 906-929.
[28]Oladele O. Campbell, Harrison I. Atagana (2022), Impact of a Scratch programming intervention on student engagement in a Nigerian polytechnic first-year class: verdict from the observers,Heliyon, Volume 8, Issue 3, 2022, e09191, ISSN 2405-8440, https://doi.org/10.1016/j.heliyon.2022.e09191.
[29]Pérez-Marín, D., Hijón-Neira, R., Bacelo, A., & Pizarro, C. (2020). Can computational thinking be improved by using a methodology based on metaphors and scratch to teach computer programming to children?. Computers in Human Behavior, 105, 105849.
[30]Espinal, A., Vieira, C., & Guerrero-Bequis, V. (2023). Student ability and difficulties with transfer from a block-based programming language into other programming languages: A case study in Colombia. Computer Science Education, 33(4), 567-599.
[31]Malan, D. J., and Leitner, H. H. (2007), “Scratch for Budding Computer Scientists,” ACM SIGCSE Bulletin, 39, 223–227.
[32]Stewart, W., & Baek, K. (2023). Analyzing computational thinking studies in Scratch programming: A review of elementary education literature. International Journal of Computer Science Education in Schools, 6(1), 35-58. 
[33]Su, J., & Yang, W. (2023). A systematic review of integrating computational thinking in early childhood education. Computers and Education Open, 4, 100122.
[34]Riihiaho, S. (2018). Usability testing. The Wiley handbook of human computer interaction, 1, 255-275.
[35]Sakpere, A. B., Kayem, A. V., & Ndlovu, T. (2015). A usable and secure crime reporting system for technology resource constrained context. In 2015 IEEE 29th International Conference on Advanced Information Networking and Applications Workshops (pp. 424-429). IEEE.
[36]Tzortzoglou, F., & Sofos, A. (2023). Evaluating the Usability of Mobile-Based Augmented Reality Applications for Education: A Systematic Review. Research on E-Learning and ICT in Education, 105-135.
[37]Adedeji F.M, Adekunle Y.A, Adebayo A.O, Alao O.D, Akande O.A (2022). Systematic Review on Usability Evaluation for University Websites. International Journal of Computer Applications Technology and Research.Volume 11 Issue 02, 22-28, 2022, ISSN:-2319 8656 DOI:10.7753/IJCATR1102.1003
[38]Brooke, J. (2013). SUS: a retrospective. Journal of Usability Studies archive, 8, 29-40.
[39]Morales, J., Rusu, C., Botella, F., Quiñones, D. (2020). Programmer eXperience: A Set of Heuristics for Programming Environments. In: Meiselwitz, G. (eds) Social Computing and Social Media. Participation, User Experience, Consumer Experience, and Applications of Social Computing. HCII 2020. Lecture Notes in Computer Science(), vol 12195. Springer, Cham.  https://doi.org/10.1007/978-3-030-49576-3_15
[40]Rahmatizadeh S, Kirakowski J, Valizadeh-Haghi S, Taheri M, Tavasoli S. A combination of three scales for measuring user perceived usability of a clinical information system: which approach produces the most informative results? Front Health Inform. 2024; 13: 193. DOI: 10.30699/fhi.v13i0.569  
[41]Lewis, J. R., & Sauro, J. (2018). Item benchmarks for the system usability scale. Journal of Usability Studies, 13(3).
[42]GitLab, (2023). GitLab Handbook: System Usability Scale. https://handbook.gitlab.com/handbook/product/ux/performance-indicators/system-usability-scale
[43]Resnick, M. (2017). Lifelong kindergarten: Cultivating creativity through projects, passion, peers, and play. MIT press.
[44]Amadi, H. N. (2015). Impact of power outages on developing countries: evidence from rural households in Niger Delta, Nigeria. Journal of Energy technologies and Policy, 5(3), 27-38.
[45]Jacob, O. N. (2020). An Investigation into the Challenges Preventing Students of Educational Administration and Planning from Using ICT for Learning in Nigeria Higher Institutions. International Journal of Advances in Data and Information Systems, 1(2), 69-79.
[46]Pérez-Jorge, D., & Martínez-Murciano, M. C. (2022). Gamification with Scratch or App Inventor in Higher Education: A Systematic Review. Future Internet, 14(12), 374.