Effect of Block-Based Python Programming Environment on Programming Learning
Abstract
:1. Introduction
2. Related Work
2.1. Factor Analysis
- (1)
- Create questions, perform a usability analysis, and obtain scores for each evaluation question.
- (2)
- Calculate a matrix of the correlation coefficients between questions.
- (3)
- Extract nonrotated factors.
- (4)
- Rotate the factors.
- (5)
- Interpret and assign names based on the content of questions with high factor loadings related to rotated factors.
- = Standard score of the jth variable;
- = Weight (coefficient) for factor k() of the jth variable;
- = Unique variance of the jth variable.
2.2. Regression Analysis
- β0: When Xi = 0, the expected value of Yi (regression constant, intercept);
- β1: Population’s regression coefficient (slope of regression line);
- : Error that is not explained by Xi.
- : Total deviation sum of squares of Y;
- : Change that can be explained by the regression equation (regression deviation sum of squares);
- : Change that cannot be explained by the regression equation (residual sum of squares).
3. Programming Environments
4. Methods
4.1. Participants
4.2. Programming Course
4.2.1. Procedure
4.2.2. Data Collection
4.2.3. Factor Analysis
4.2.4. Regression Analysis
5. Results
- (a)
- All StudentsReg = 2.393 + 0.342 × (Understanding of Programming Instructions) + 0.178 × (Usage Confidence);
- (b)
- Middle School StudentsRM = 0.426 × (Usefulness) + 2.804;
- (c)
- High School StudentsRH = 0.280 × (Usefulness) + 0.251 × (Understanding of Programming Instructions) + 2.395;
- (d)
- University StudentsRU = 0.375 × (Understanding of Programming Instructions) + 0.277 × (Usage Confidence) + 1.724.
6. Discussions
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Wong, G.K.; Cheung, H.Y.; Ching, E.C.; Huen, J.M. School perceptions of coding education in K-12: A large scale quantitative study to inform innovative practices. In Proceedings of the IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE 2015), Zhuhai, China, 10–12 December 2015; pp. 5–10. [Google Scholar]
- Stephens, M. Embedding algorithmic thinking more clearly in the mathematics curriculum. In Proceedings of the ICME 24 School Mathematics Curriculum Reforms: Challenges, Changes and Opportunities, Tsukuba, Japan, 25–30 November 2018. [Google Scholar]
- Intelligence. The Global AI Index. Available online: https://www.tortoisemedia.com/intelligence/global-ai/ (accessed on 14 June 2023).
- Moors, L.; Sheehan, R. Aiding the transition from novice to traditional programming environments. In Proceedings of the 2017 Conference on Interaction Design and Children, Stanford, CA, USA, 27–30 June 2017; pp. 509–514. [Google Scholar]
- Topalli, D.; Cagiltay, N.E. Improving programming skills in engineering education through problem-based game projects with Scratch. Comput. Educ. 2018, 120, 64–74. [Google Scholar] [CrossRef]
- Ezeamuzie, N.O. Project-first approach to programming in K–12: Tracking the development of novice programmers in technology-deprived environments. Educ. Inf. Technol. 2023, 28, 407–437. [Google Scholar] [CrossRef]
- Gomes, A.; Mendes, A.J. Learning to Program—Difficulties and Solutions. In Proceedings of the International Conference on Engineering Education, Paris, France, 28–31 July 2007; pp. 283–287. [Google Scholar]
- Espinal, A.; Vieira, C.; Guerrero-Bequis, V. Student ability and difficulties with transfer from a block-based programming language into other programming languages: A case study in Colombia. Comput. Sci. Educ. 2022, 1–33. [Google Scholar] [CrossRef]
- Mladenović, M.; Boljat, I.; Žanko, Ž. Comparing loops misconceptions in block-based and text-based programming languages at the K-12 level. Educ. Inf. Technol. 2018, 23, 1483–1500. [Google Scholar] [CrossRef]
- Charles, T.; Gwilliam, C. The Effect of Automated Error Message Feedback on Undergraduate Physics Students Learning Python: Reducing Anxiety and Building Confidence. J. STEM Educ. Res. 2023, 6, 326–357. [Google Scholar] [CrossRef]
- Becker, B.A.; Denny, P.; Pettit, R.; Bouchard, D.; Bouvier, D.J.; Harrington, B.; Prather, J. Compiler error messages considered unhelpful: The landscape of text-based programming error message research. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education, New York, NY, USA, 15–17 July 2019; pp. 177–210. [Google Scholar]
- Soomro, A.H. An Exploration of Visual and Textual Based Programming Languages: A Comparative Analysis. Int. J. Electr. Eng. Emerg. Technol. 2023, 6, 20–23. [Google Scholar]
- Hijón-Neira, R.; Pizarro, C.; French, J.; Paredes-Barragán, P.; Duignan, M. Improving CS1 Programming Learning with Visual Execution Environments. Preprints 2023, 2023081390. [Google Scholar]
- Seo, H.; Sadowski, C.; Elbaum, S.; Aftandilian, E.; Bowdidge, R. Programmers’ Build Errors: A Case Study (at Google). In Proceedings of the 36th International Conference on Software Engineering—ICSE 2014, Hyderabad, India, 31 May–7 June 2014; ACM Press: New York, NY, USA, 2014; pp. 724–734. [Google Scholar]
- Oppenlaender, J. Prompt Engineering for Text-Based Generative Art. arXiv 2022, arXiv:2204.13988. [Google Scholar]
- Wing, J.M. Computational thinking. Commun. ACM 2006, 49, 33–35. [Google Scholar] [CrossRef]
- McCall, D.; Kölling, M. A new look at novice programmer errors. ACM Trans. Comput. Educ. 2019, 19, 38. [Google Scholar] [CrossRef]
- Xinogalos, S.; Satratzemi, M.; Malliarakis, C. Microworlds, games, animations, mobile apps, puzzle editors and more: What is important for an introductory programming environment? Educ. Inf. Technol. 2017, 22, 145–176.2. [Google Scholar] [CrossRef]
- Cárdenas-Cobo, J.; Puris, A.; Novoa-Hernández, P.; Parra-Jiménez, Á.; Moreno-León, J.; Benavides, D. Using scratch to improve learning programming in college students: A positive experience from a non-weird country. Electronics 2021, 10, 1180. [Google Scholar] [CrossRef]
- Emerson, A.; Rodríguez, F.J.; Mott, B.; Smith, A.; Min, W.; Boyer, K.E.; Lester, J. Predicting Early and Often: Predictive Student Modeling for Block-Based Programming Environments. In Proceedings of the International Educational Data Mining Society, Paper presented at the International Conference on Educational Data Mining (EDM), Montreal, BC, Canada, 2–5 July 2019. [Google Scholar]
- Seraj, M.; Katterfeldt, E.S.; Bub, K.; Autexier, S.; Drechsler, R. Scratch and Google Blockly: How girls’ programming skills and attitudes are influenced. In Proceedings of the 19th Koli Calling International Conference on Computing Education Research, Koli, Finland, 21–24 November 2019; pp. 1–10. [Google Scholar]
- Deng, W.; Pi, Z.; Lei, W.; Zhou, Q.; Zhang, W. Pencil Code improves learners’ computational thinking and computer learning attitude. Comput. Appl. Eng. Educ. 2020, 28, 90–104. [Google Scholar] [CrossRef]
- Žanko, Ž.; Mladenović, M.; Krpan, D. Mediated transfer: Impact on programming misconceptions. J. Comput. Educ. 2023, 10, 1–26. [Google Scholar] [CrossRef]
- Tavares, P.C.; Henriques, P.R.; Gomes, E.F. A Computer Platform to Increase Motivation in Programming Students-PEP. CSEDU 2017, 1, 284–291. [Google Scholar]
- Yong, S.T.; Tiong, K.M. A Blended Learning Approach: Motivation and Difficulties in Learning Programming. Int. J. Inf. Commun. Technol. Educ. 2022, 18, 1–16. [Google Scholar] [CrossRef]
- Ericson, B.J.; Foley, J.D.; Rick, J. Evaluating the efficiency and effectiveness of adaptive parsons problems. In Proceedings of the 2018 ACM Conference on International Computing Education Research, Espoo, Finland, 13–15 August 2018; pp. 60–68. [Google Scholar]
- Shah, M. Exploring the Use of Parsons Problems for learning a New Programming Language; Technical Report EECS-2020–88; Electrical Engineering and Computer Sciences, University of California at Berkeley: Berkeley, CA, USA, 2020. [Google Scholar]
- Weintrop, D.; Wilensky, U. How block-based, text-based, and hybrid block/text modalities shape novice programming practices. Int. J. Child-Comput. Interact. 2018, 17, 83–92. [Google Scholar] [CrossRef]
- Alrubaye, H.; Ludi, S.; Mkaouer, M.W. Comparison of block-based and hybrid-based environments in transferring programming skills to text-based environments. arXiv 2019, arXiv:1906.03060. [Google Scholar]
- Hsu, W.C.; Gainsburg, J. Hybrid and non-hybrid block-based programming languages in an introductory college computer-science course. J. Educ. Comput. Res. 2021, 59, 817–843. [Google Scholar] [CrossRef]
- Cutting, V.; Stephen, N. Comparative review of java and python. Int. J. Res. Dev. Appl. Sci. Eng. (IJRDASE) 2021, 21. [Google Scholar]
- Kumar, I.K.; Agarwal, V.; Reddy, M.S. Image Recognition based Driver Drowsiness Detection using Python. In Proceedings of the International Conference on Electronics and Renewable Systems (ICEARS), Tuticorin, India, 16–18 March 2022; pp. 992–995. [Google Scholar]
- Chan, L.L.; Idris, N. Validity and reliability of the instrument using exploratory factor analysis and Cronbach’s alpha. Int. J. Acad. Res. Bus. Soc. Sci. 2017, 7, 400–410. [Google Scholar]
- Lee, J.; Song, H.D.; Hong, A.J. Exploring factors, and indicators for measuring students’ sustainable engagement in e-learning. Sustainability 2019, 11, 985. [Google Scholar] [CrossRef]
- Zhang, Y.; Paquette, L.; Pinto, J.D.; Fan, A.X. Utilizing programming traces to explore and model the dimensions of novices’ code-writing skill. Comput. Appl. Eng. Educ. 2023, 31, 1041–1058. [Google Scholar] [CrossRef]
- Uyanık, G.K.; Güler, N. A study on multiple linear regression analysis. Procedia-Soc. Behav. Sci. 2013, 106, 234–240. [Google Scholar] [CrossRef]
- Xu, X.; Du, H.; Lian, Z. Discussion on regression analysis with small determination coefficient in human-environment researches. Indoor Air 2022, 32, e13117. [Google Scholar] [CrossRef]
- Gürer, M.D.; Cetin, I.; Top, E. Factors affecting students’ attitudes toward computer programming. Inform. Educ. 2019, 18, 281–296. [Google Scholar] [CrossRef]
- Alboaneen, D.; Almelihi, M.; Alsubaie, R.; Alghamdi, R.; Alshehri, L.; Alharthi, R. Development of a web-based prediction system for students’ academic performance. Data 2022, 7, 21. [Google Scholar] [CrossRef]
- Hayes, A.F.; Rockwood, N.J. Regression-based statistical mediation and moderation analysis in clinical research: Observations, recommendations, and implementation. Behav. Res. Ther. 2017, 98, 39–57. [Google Scholar] [CrossRef]
- Chuang, H.M.; Lee, C.C. Interactions of construal levels on programming ability and learning satisfaction: A case study of an Arduino course for junior high school students. PLoS ONE 2020, 15, e0236500. [Google Scholar] [CrossRef]
- Cheng, G. Exploring factors influencing the acceptance of visual programming environment among boys and girls in primary schools. Comput. Hum. Behav. 2019, 92, 361–372. [Google Scholar] [CrossRef]
- Moons, J.; De Backer, C. The design and pilot evaluation of an interactive learning environment for introductory programming influenced by cognitive load theory and constructivism. Comput. Educ. 2013, 60, 368–384. [Google Scholar] [CrossRef]
- Zorn, C.; Wingrave, C.A.; Charbonneau, E.; LaViola, J.J., Jr. Exploring Minecraft as a conduit for increasing interest in programming. FDG 2013, 352–359. [Google Scholar]
- Tang, X.; Yin, Y.; Lin, Q.; Hadad, R.; Zhai, X. Assessing computational thinking: A systematic review of empirical studies. Comput. Educ. 2020, 148, 103798. [Google Scholar] [CrossRef]
- Kong, S.C.; Wang, Y.Q. Formation of computational identity through computational thinking perspectives development in programming learning: A mediation analysis among primary school students. Comput. Hum. Behav. 2020, 106, 106230. [Google Scholar] [CrossRef]
- Kong, S.C.; Chiu, M.M.; Lai, M. A study of primary school students’ interest, collaboration attitude, and programming empowerment in computational thinking education. Comput. Educ. 2018, 127, 178–189. [Google Scholar] [CrossRef]
- Alothman, M.; Robertson, J.; Michaelson, G. Computer usage and attitudes among Saudi Arabian undergraduate students. Comput. Educ. 2017, 110, 127–142. [Google Scholar] [CrossRef]
- Rubio, M.A.; Romero-Zaliz, R.; Mañoso, C.; Angel, P. Closing the gender gap in an introductory programming course. Comput. Educ. 2015, 82, 409–420. [Google Scholar] [CrossRef]
- Xu, W.W.; Su, C.Y.; Hu, Y.; Chen, C.H. Exploring the effectiveness and moderators of augmented reality on science learning: A meta-analysis. J. Sci. Educ. Technol. 2022, 31, 621–637. [Google Scholar] [CrossRef]
- Papadakis, S. Evaluating the efficiency of two programming environments in shaping novices’ attitudes, perceptions, beliefs and knowledge in programming: A comparison between Scratch and App Inventor. Int. J. Teach. Case Stud. 2019, 10, 31–52. [Google Scholar] [CrossRef]
- Weintrop, D.; Wilensky, U. Comparing block-based and text-based programming in high school computer science classrooms. ACM Trans. Comput. Educ. 2017, 18, 1–25. [Google Scholar] [CrossRef]
- Erol, O.; Çırak, N.S. The effect of a programming tool scratch on the problem-solving skills of middle school students. Educ. Inf. Technol. 2022, 27, 4065–4086. [Google Scholar] [CrossRef]
- Hu, Y.; Chen, C.H.; Su, C.Y. Exploring the effectiveness and moderators of block-based visual programming on student learning: A meta-analysis. J. Educ. Comput. Res. 2021, 58, 1467–1493. [Google Scholar] [CrossRef]
- Jenkins, T. On the difficulty of learning to program. In Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, Loughborough, UK, 23 August 2002; pp. 53–58. [Google Scholar]
- Mihci, C.; Ozdener Donmez, N. Teaching GUI-Programming Concepts to Prospective K12 ICT Teachers: MIT App Inventor as an Alternative to Text-Based Languages. Int. J. Res. Educ. Sci. 2017, 3, 543–559. [Google Scholar] [CrossRef]
Sum of Squares (SS) | df | Mean Square (MS) | F | ||
---|---|---|---|---|---|
Regression | 1 | ||||
Residual | n − 2 | ||||
Total | n − 1 |
Category | No. | Item |
---|---|---|
Programming Learning Environment | A01 | I understand commands. |
A02 | Commands are easy to use. | |
A03 | I am confident in using commands. | |
A04 | I have the knowledge and techniques required for using commands. | |
A05 | I can obtain the desired results. | |
A06 | It helps to understand “print( )” | |
A07 | It helps to understand “input( )” | |
A08 | It helps to understand “quadratic/comparative/logical operations” | |
A09 | It helps to understand “if, elif, else” | |
A10 | It helps to understand “for, while” | |
A11 | It helps to understand “list” | |
A12 | It helps to understand “function” | |
A13 | It helps to understand “algorithm” | |
A14 | The environment helps with my programming activities. | |
A15 | I want to spend more time using the provided environment. | |
A16 | I want to use the provided environment in the future. | |
Positive Perceptions of Programming | B01 | Programming helps create a better world. |
B02 | Programming is worth studying. | |
B03 | Programming will be useful even after I graduate school. | |
B04 | Programming is relevant to the environment, technology, and society. | |
B05 | The programming class hours at school should be increased. | |
B06 | Programmers think and make decisions rationally. | |
B07 | I want to know more about programming. |
Kaiser–Meyer–Olkin (KMO) Measure of Sampling Adequacy | 0.924 | |
Bartlett’s Test of Sphericity | Approx. Chi-Square | 3475.178 |
df | 253 | |
Sig. | 0.000 |
Initial Eigenvalues | Rotation Sums of Squared Loadings | |||||
---|---|---|---|---|---|---|
Component | Total | % of Variance | Cum. % | Total | % of Variance | Cum. % |
1 | 13.727 | 59.684 | 59.684 | 6.496 | 28.243 | 28.243 |
2 | 2.223 | 9.664 | 69.348 | 5.772 | 25.095 | 53.338 |
3 | 1.684 | 7.324 | 76.671 | 3.546 | 15.418 | 68.756 |
4 | 1.010 | 4.389 | 81.060 | 2.830 | 12.305 | 81.060 |
Category | Subcategory | No. | Item | Factor | |||
---|---|---|---|---|---|---|---|
Programming Learning Environment | Understanding of Programming Instructions | A11 | It helps to understand “list” | 0.847 | 0.263 | 0.138 | 0.285 |
A08 | It helps to understand “quadratic/comparative/logical operations” | 0.845 | 0.203 | 0.258 | 0.314 | ||
A09 | It helps to understand “if, elif, else” | 0.835 | 0.291 | 0.213 | 0.285 | ||
A13 | It helps to understand “algorithm” | 0.818 | 0.227 | 0.189 | 0.276 | ||
A10 | It helps to understand “for, while” | 0.792 | 0.338 | 0.093 | 0.306 | ||
A07 | It helps to understand “input( )” | 0.731 | 0.290 | 0.237 | 0.356 | ||
A12 | It helps to understand “function” | 0.702 | 0.465 | 0.109 | 0.243 | ||
A06 | It helps to understand “print( )” | 0.627 | 0.438 | 0.248 | 0.352 | ||
Usage Confidence | A03 | I am confident in using commands. | 0.352 | 0.822 | 0.002 | 0.236 | |
A05 | I can obtain the desired results. | 0.363 | 0.705 | 0.239 | 0.239 | ||
A04 | I have the knowledge and techniques required for using commands. | 0.513 | 0.675 | 0.068 | 0.293 | ||
A01 | I understand commands. | 0.467 | 0.626 | 0.208 | 0.335 | ||
A02 | Commands are easy to use. | 0.232 | 0.594 | 0.531 | 0.204 | ||
Usefulness | A16 | I want to use the provided environment in the future. | 0.190 | 0.112 | 0.920 | 0.153 | |
A15 | I want to spend more time using the provided environment. | 0.193 | 0.089 | 0.908 | 0.199 | ||
A14 | The environment helps with my programming activities. | 0.552 | 0.237 | 0.564 | 0.301 | ||
Positive Perceptions of Programming | B02 | Programming is worth studying. | 0.281 | 0.198 | 0.113 | 0.862 | |
B01 | Programming helps create a better world. | 0.211 | 0.238 | 0.119 | 0.846 | ||
B04 | Programming is relevant to the environment, technology, and society. | 0.179 | 0.138 | 0.136 | 0.841 | ||
B03 | Programming will be useful even after I graduate school. | 0.270 | 0.179 | 0.085 | 0.814 | ||
B07 | I want to know more about programming. | 0.275 | 0.191 | 0.141 | 0.790 | ||
B05 | The programming class hours at school should be increased. | 0.282 | 0.193 | 0.179 | 0.782 | ||
B06 | Programmers think and make decisions rationally. | 0.312 | 0.153 | 0.215 | 0.679 |
Factor | M (SD) | |||
---|---|---|---|---|
Middle School | High School | University | Total | |
Understanding of Programming Instructions | 4.04 (0.58) | 4.35 (0.74) | 4.63 (0.68) | 4.46 (0.71) |
Usage Confidence | 3.80 (0.64) | 4.28 (0.75) | 4.53 (0.67) | 4.34 (0.73) |
Usefulness | 4.18 (0.69) | 4.34 (0.70) | 4.16 (0.96) | 4.21 (0.86) |
Positive Perceptions of Programming | 4.58 (0.43) | 4.70 (0.48) | 4.72 (0.57) | 4.69 (0.53) |
ANOVA | |||||
---|---|---|---|---|---|
Model | Sum of Squares (SS) | df | Mean Square (MS) | F | |
Regression | 16.144 | 2 | 8.072 | 53.133 | 0.000 |
Residual | 18.990 | 125 | 0.152 | ||
Total | 35.134 | 127 |
Model | B | Std. Error | Beta | t | Sig. |
---|---|---|---|---|---|
(Constant) | 2.393 | 0.225 | 10.612 | 0.000 | |
Understanding of Programming Instructions | 0.342 | 0.082 | 0.462 | 4.170 | 0.000 |
Usage Confidence | 0.178 | 0.080 | 0.248 | 2.233 | 0.027 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Kim, Y.; Kim, J.; Lee, W. Effect of Block-Based Python Programming Environment on Programming Learning. Appl. Sci. 2023, 13, 10898. https://doi.org/10.3390/app131910898
Kim Y, Kim J, Lee W. Effect of Block-Based Python Programming Environment on Programming Learning. Applied Sciences. 2023; 13(19):10898. https://doi.org/10.3390/app131910898
Chicago/Turabian StyleKim, Yongcheon, Jamee Kim, and Wongyu Lee. 2023. "Effect of Block-Based Python Programming Environment on Programming Learning" Applied Sciences 13, no. 19: 10898. https://doi.org/10.3390/app131910898
APA StyleKim, Y., Kim, J., & Lee, W. (2023). Effect of Block-Based Python Programming Environment on Programming Learning. Applied Sciences, 13(19), 10898. https://doi.org/10.3390/app131910898