Submitted:
16 August 2023
Posted:
21 August 2023
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Theoretical Framework
2.1. Learning How to Programme
2.2. Complementary Methods for Teaching Programming
2.3. The Visual Execution Environment
3. Research Design
3.1. Pedagogical Strategy
3.2. Research Participants
3.3. Instrument for Measuring
3.4. Validity and Reliability
4. Results
4.1. Overall Results
4.1. By Means of Programming Topics
5. Discussion and Conclusion
Author Contributions
Funding
Conflicts of Interest
References
- Lau, W.W.; Yuen, A.H. Modelling programming performance: Beyond the influence of learner characteristics. Comput. Educ. 2011, 57, 1202–1213. [Google Scholar] [CrossRef]
- Hijón-Neira, R.; Connolly, C.; Palacios-Alonso, D.; Borrás-Gené, O. A Guided Scratch Visual Execution Environment to Introduce Programming Concepts to CS1 Students. Information 2021, 12, 378. [Google Scholar] [CrossRef]
- Jovanov, M.; Stankov, E.; Mihova, M.; Ristov, S.; Gusev, M. Computing as a new compulsory subject in the Macedonian primary schools curriculum. In Proceedings of the 2016 IEEE Global Engineering Education Conference (EDUCON), Abu Dhabi, United Arab Emirates, 10–13 April 2016. [Google Scholar]
- Ouahbi, I.; Kaddari, F.; Darhmaoui, H.; Elachqar, A.; Lahmine, S. Learning Basic Programming Concepts by Creating Games with Scratch Programming Environment. Procedia-Soc. Behav. Sci. 2015, 191, 1479–1482. [Google Scholar] [CrossRef]
- Lahtinen, E.; Ala-Mutka, K.; Järvinen, H.-M. A study of the difficulties of novice programmers. ACM SIGCSE Bull. 2005, 37, 14–18. [Google Scholar] [CrossRef]
- Ginat, D. On Novice Loop Boundaries and Range Conceptions. Comput. Sci. Educ. 2004, 14, 165–181. [Google Scholar] [CrossRef]
- Seppälä, O.; Malmi, L.; Korhonen, A. Observations on student misconceptions—A case study of the Build—Heap Algorithm. Comput. Sci. Educ. 2006, 16, 241–255. [Google Scholar] [CrossRef]
- Barker, L.J.; McDowell, C.; Kalahar, K. Exploring factors that influence computer science introductory course students to persist in the major. ACM SIGCSE Bull. 2009, 41, 153–157. [Google Scholar] [CrossRef]
- Coull, N.J.; Duncan, I. Emergent Requirements for Supporting Introductory Programming. Innov. Teach. Learn. Inf. Comput. Sci. 2011, 10, 78–85. [Google Scholar] [CrossRef]
- Papert, S. Mindstorms: Children, Computers, and Powerful Ideas; Basic Books: New York, NY, USA, 1980. [Google Scholar]
- Astin, W.A. College Retention Rates are Often Misleading; Chronicle of Higher Education: Washington, DC, USA, 1993. [Google Scholar]
- Stuart, V.B. Math Course or Math Anxiety? Natl. Counc. Teach. Math. 2000, 6, 330. [Google Scholar]
- Piaget, J. The Moral Judgement of the Child; Penguin Books: New York, NY, USA, 1932. [Google Scholar]
- Piaget, J. Origins of Intelligence in Children; International Universities Press: New York, NY, USA, 1952. [Google Scholar]
- Vygotsky, L.S. Thought and Language, 2nd ed.; MIT Press: Cambridge, MA, USA, 1962. [Google Scholar]
- Vygotsky, L.S. Mind in Society: The Development of Higher Psychological Process; Harvard University Press: Cambridge, MA, USA, 1978. [Google Scholar]
- Vygotsky, L.S. The Genesis of Higher Mental Functions. In Cognitive Development to Adolescence; Richardson, K., Sheldon, S., Eds.; Erlbaum: Hove, UK, 1988. [Google Scholar]
- Maleko, M.; Hamilton, M.; D’Souza, D. Novices’ Perceptions and Experiences of a Mobile Social Learning Environment for Learning of Programming. In Proceedings of the 12th International Conference on Innovation and Technology in Computer Science Education (ITiCSE), Haifa, Israel, 3–5 July 2012. [Google Scholar]
- Williams, L.; Wiebe, E.; Yang, K.; Ferzli, M.; Miller, C. In Support of Pair Programming in the Introductory Computer Science Course. Comput. Sci. Educ. 2002, 12, 197–212. [Google Scholar] [CrossRef]
- Renumol, V.; Jayaprakash, S.; Janakiram, D. Classification of Cognitive Difficulties of Students to Learn Computer Programming; Indian Institute of Technology: New Delhi, India, 2009; p. 12. [Google Scholar]
- Jenkins, T. The motivation of students of programming. ACM SIGCSE Bull. 2001, 33, 53–56. [Google Scholar] [CrossRef]
- Kurland, D.M.; Pea, R.D.; Lement, C.C.; Mawby, R. A Study of the Development of Programming Ability and Thinking Skills in High School Students. J. Educ. Comput. Res. 1986, 2, 429–458. [Google Scholar] [CrossRef]
- Alshaigy, Bedoor, and Linda Ott. Novice programming students: Common difficulties and misconceptions. In Proceedings of the 43rd ACM technical symposium on Computer Science Education; 2012. [Google Scholar]
- Simon, Beth, et al. The influence of student aptitude on performance in an introductory computer science course. In Proceedings of the 2013 ITiCSE on Working Group Reports; 2013. [Google Scholar]
- Robins, Anthony, et al. Learning and teaching programming: A review and discussion. Computer Science Education 2003, 13, 137–172. [Google Scholar] [CrossRef]
- Brooks, F.P. No Silver Bullet: Essence and Accidents of Software Engineering. In Proceedings of the Tenth World Computing Conference, Dublin, Ireland, 1–5 September 1986; pp. 1069–1076. [Google Scholar]
- Mishra, D.; Ostrovska, S.; Hacaloglu, T. Exploring and expanding students’ success in software testing. Inf. Technol. People 2017, 30, 927–945. [Google Scholar] [CrossRef]
- Hanks, Brian, et al. Keeping students engaged in computer science. In Proceedings of the 45th ACM technical symposium on Computer science education; 2014. [Google Scholar]
- Clancy, M.J.; Linn, M.C. Case studies in the classroom. ACM SIGCSE Bull. 1992, 24, 220–224. [Google Scholar] [CrossRef]
- Vihavainen, Arto, et al. Multi-faceted support for learning computer programming. In Proceedings of the 42nd ACM technical symposium on Computer Science Education; 2011. [Google Scholar]
- R7.Luxton-Reilly, Andrew, et al. How do students solve intro programming tasks? In Proceedings of the 13th annual SIGCSE conference on Innovation and technology in computer science education; 2008. [Google Scholar]
- R8.Ragonis, Noa, and Uri Leron. Factors explaining success in an introductory computer science course. ACM Transactions on Computing Education (TOCE) 2018, 19, 1–21. [Google Scholar]
- Chandramouli, M.; Zahraee, M.; Winer, C. A fun-learning approach to programming: An adaptive Virtual Reality (VR) platform to teach programming to engineering students. In Proceedings of the IEEE International Conference on Electro/Information Technology, Milwaukee, WI, USA, 5–7 July 2014. [Google Scholar]
- Silapachote, P.; Srisuphab, A. Teaching and learning computational thinking through solving problems in Artificial Intelligence: On designing introductory engineering and computing courses. In Proceedings of the 2016 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE), Bangkok, Thailand, 7–9 December 2016. [Google Scholar]
- Liu, C.-C.; Cheng, Y.-B.; Huang, C.-W. The effect of simulation games on the learning of computational problem solving. Comput. Educ. 2011, 57, 1907–1918. [Google Scholar] [CrossRef]
- Kazimoglu, C.; Kiernan, M.; Bacon, L.; Mackinnon, L. A Serious Game for Developing Computational Thinking and Learning Introductory Computer Programming. Procedia-Soc. Behav. Sci. 2012, 47, 1991–1999. [Google Scholar] [CrossRef]
- Kazimoglu, C.; Kiernan, M.; Bacon, L.; MacKinnon, L. Learning Programming at the Computational Thinking Level via Digital Game-Play. Procedia Comput. Sci. 2012, 9, 522–531. [Google Scholar] [CrossRef]
- Saad, A.; Shuff, T.; Loewen, G.; Burton, K. Supporting undergraduate computer science education using educational robots. In Proceedings of the ACMSE 2018 Conference, Tuscaloosa, AL, USA, 29–31 March 2012. [Google Scholar]
- Weintrop, W.; Wilensky, U. Comparing Block-Basedand Text-Based Programming in High School Computer Science Classrooms. ACM Trans. Comput. Educ. 2017, 18, 1. [Google Scholar] [CrossRef]
- Martínez-Valdés, J.A.; Velázquez-Iturbide, J.; Neira, R.H. A (Relatively) Unsatisfactory Experience of Use of Scratch in CS1. In Proceedings of the 5th International Conference on Technological Ecosystems for Enhancing Multiculturality, Cadiz, Spain, 18–20 October 2017. [Google Scholar]
- Murphy, Laurie, et al. Improving novices' debugging strategies with epistemic scaffolding. In Proceedings of the 2011 annual conference extended abstracts on Human factors in computing systems; 2011. [Google Scholar]
- Patitsas, Elizabeth, et al. Identifying and supporting struggling students in introductory computer science courses. In Proceedings of the 2014 conference on Innovation & technology in computer science education; 2014. [Google Scholar]
- Fogg, B.J. A behavior model for persuasive design. In Proceedings of the 4th international Conference on Persuasive Technology, Claremont, CA, USA, 26–29 April 2009; pp. 1–7. [Google Scholar]
- Mishra, P.; Koehler, M. Technological Pedagogical Content Knowledge: A Framework for Teacher Knowledge. Teach. Coll. Rec. 2006, 108, 1017–1054. [Google Scholar] [CrossRef]
- Mishra, P.; Koehler, M.J. Introducing Technological Pedagogical Content Knowledge; American Educational Research Association: Vancouver, BC, Canada, 2008; pp. 1–16. [Google Scholar]
- Hijón-Neira, R.; Connolly, C.; Pizarro, C.; Pérez-Marín, D. Prototype of a Recommendation Model with Artificial Intelligence for Computational Thinking Improvement of Secondary Education Students. Computers 2023, 12, 113. [Google Scholar] [CrossRef]






| Topic Num. | Description | Num. of Codes |
|---|---|---|
| Topic 1. | Input/Output and Variables | 5 |
| Topic 2. | Conditionals | 8 |
| Topic 3. | Loops | 18 |
| Topic 4. | Arrays | 12 |
| Topic 5. | Files | 11 |
| Topic 6. | Functions | 6 |
| Topic 7. | Recursion | 6 |
| Topic Number | Number of Questions | Concept Addressed |
|---|---|---|
| Topic 1. Input/Output and Variables | 4 | Input, output, input, and output |
| Topic 2. Conditionals | 2 | Conditional and switch |
| Topic 3. Loops | 9 | While, do-while, for |
| Topic 4. Arrays | 3 | Search, read, write |
| Topic 5. Files | 3 | Binary and text files |
| Topic 6. Functions | 4 | Parts, return value, inputs |
| Topic 7. Recursion | 3 | Linear and tale recursion |
| Pre-test | Post-test | |||
|---|---|---|---|---|
| Control | Experimental | Control | Experimental | |
| Mean | 5.10 | 4.61 | 6.91 | 7.48 |
| Median | 5.00 | 4.64 | 7.67 | 7.86 |
| SD | 1.29 | 1.15 | 1.92 | 1.50 |
| Pre-Post Control | Pre-Post Experimental | |
|---|---|---|
| Mean | -1.84 | -2.85 |
| Deviation | 1.857 | 1.898 |
| df | 30 | 31 |
| t | -5.521 | -8.513 |
| p-value | <0.001 | <0.001 |
| d Cohen | 1.851 | 1.898 |
| t | df | p-value | |
|---|---|---|---|
| Pre-test | 1.604 | 61 | 0.057 |
| Post-test | -1.196 | 61 | 0.119 |
| df | Quadratic means | F | p-value | Partial Eta squared | |
|---|---|---|---|---|---|
| Pre-score | 1 | 3.920 | 3.051 | 0.086 | 0.050 |
| Location | 1 | 94.930 | 73.892 | <0.001 | 0.260 |
| Group | 1 | 6.236 | 4.854 | 0.032 | 0.577 |
| Location*Group | 1 | 2.634 | 2.050 | 0.158 | 0.034 |
| Error | 58 | 1.285 |
| Pre-test | Post-test | |||
|---|---|---|---|---|
| Control | Experimental | Control | Experimental | |
| 8.62 | 8.04 | 9.16 | 9.24 | |
| Input & Output | 10 | 10 | 10 | 10 |
| 2.02 | 2.13 | 1.21 | 1.32 | |
| 4.76 | 3.71 | 6.89 | 7.50 | |
| Loops | 4.44 | 3.33 | 7.78 | 7.77 |
| 2.62 | 2.02 | 2.68 | 2.11 | |
| 6.77 | 7.96 | 7.16 | 8.93 | |
| Conditionals | 5.00 | 10 | 10 | 10 |
| 3.54 | 3.07 | 3.39 | 2.07 | |
| 5.00 | 5.15 | 6.50 | 7.34 | |
| Functions | 5.00 | 5.00 | 7.50 | 7.5 |
| 2.23 | 2.61 | 1.80 | 1.86 | |
| 3.97 | 3.02 | 6.55 | 6.86 | |
| Arrays | 3.33 | 3.33 | 6.67 | 6.66 |
| 2.77 | 2.72 | 3.21 | 3.11 | |
| 2.90 | 2.18 | 5,11 | 5.25 | |
| Recursion | 3.33 | 3.33 | 3.33 | 6.66 |
| 2.82 | 2.17 | 3.47 | 3.43 | |
| 3.76 | 3.75 | 6.11 | 7.07 | |
| File | 3.33 | 3.64 | 6.67 | 6.67 |
| 2.23 | 4.34 | 3.16 | 3.43 | |
| Group | Experimental | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| t | p-value | d | t | p-value | d | ||||
| Input/Output | -2.079 | 0.023 | 2.37 | -2.335 | 0.013 | 2.83 | |||
| Loops | -4.239 | <0.001 | 2.82 | -7.408 | <0.001 | 2.88 | |||
| Conditionals | -1.000 | 0.163 | 2.69 | -1.438 | 0.080 | 3.68 | |||
| Function | -3.574 | <0.001 | 2.38 | -4.625 | <0.001 | 2.67 | |||
| Arrays | -4.167 | <0.001 | 3.59 | -5.947 | <0.001 | 3.56 | |||
| Recursion | -2.808 | 0.004 | 4.26 | -3.816 | <0.001 | 4.63 | |||
| Files | -4.383 | <0.001 | 3.00 | -4.209 | <0.001 | 4.48 | |||
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 (http://creativecommons.org/licenses/by/4.0/).