The impact of using program visualization techniques on learning basic programming concepts at the K–12 level

Computer Applications in Engineering Education - Tập 29 Số 1 - Trang 145-159 - 2021
Monika Mladenović1, Žana Žanko2, Marin Aglić Čuvić1
1Faculty of Science, University of Split, Split, Croatia
2Elementary School “Mejaši” Split Croatia

Tóm tắt

AbstractNovices enrolled in introductory programming courses often face many difficulties. These difficulties are more emphasized when novices are K–12 students. Many new visual programming languages have primarily been designed to provide a smooth introduction to programming for children. However, at some point, a general‐purpose text‐based programming language should be used. A well‐known and studied method is to visualize program execution to assist novices in forming correct mental models. Although many studies have investigated the effects of using visualizations in teaching and learning, most of them focus on courses taught at the university level. Studies that focus on investigating the impact of program visualizations at the K–12 level are, to the best of our knowledge, scarce. Therefore, we investigated the impact of using program visualizations with a group of K–12 students. Because of the underrepresentation of girls in computer science and known gender stereotypes, we additionally investigated student performance based on gender. Our research included 98 fifth‐grade students from three elementary schools. The lectures in the experimental group included different visualization techniques, including a program visualization tool and PowerPoint animations, whereas the control group had no program visualizations. All students learned Python as part of their curriculum. We present the results of our research in this paper.

Từ khóa


Tài liệu tham khảo

10.2307/2065840

Armoni M., 2013, On teaching abstraction in computer science to novices, J. Comput. Math. Sci. Teach

10.1109/2.488299

Bentrad S., 2011, Visual programming and program visualization—towards an ideal visual software engineering system, Program

I.Boljat M.Mladenović andN.Mustapić Jogun Students’ attitudes towards programming after the first year of implementing a new informatics curriculum in the elementary schools. ICERI2019 Proc. (L. Gómez Chova A. López Martínez and I. Candel Torres eds.) IATED Academy Seville 2019 pp. 9486–9495.

10.2190/3LFX-9RRF-67T8-UVK9

Bruner J. S., 1960, The process of education, 12, 10.4159/9780674028999

N.Bubica andI.Boljat Predictors of novices programmers’ performance. ICERI2014 Proc. (L. Gómez Chova A. López Martínez and I. Candel Torres eds.) IATED Academy Seville 2014 pp. 1536–1545.

10.4324/9780203720967

S. A.Comparisonet al. Expectations of computing and other STEM Students 2013.

K.Cunningham S. Blanchard B. Ericson and M. Guzdial Using tracing and sketching to solve programming problems 2017.

M. A.Cuvic J.Maras andS.Mladenovic Extending the object‐oriented notional machine notation with inheritance polymorphism and GUI events. 2017 40th Int. Conv. Inf. Commun. Technol. Electr. Microelectr. MIPRO 2017—Proc. Opatija Croatia 2017.https://doi.org/10.23919/MIPRO.2017.7973530

10.1145/1516046.1516054

S.Grover andS.Basu Measuring student learning in introductory block‐based programming Proc. 2017 ACM SIGCSE Tech. Symp. Comput. Sci. Educ.—SIGCSE ’17 2017 Seattle Washington pp. 267–272.https://doi.org/10.1145/3017680.3017723

P. J.Guo Online Python Tutor: Embeddable web‐based program visualization for CS education Proc. 44th ACM Tech. Symp. Comput. Sci. Educ. Denver CO 2013 pp. 579–584.https://doi.org/10.1145/2445196.2445368

J.Helminen andL.Malmi Jype—A program visualization and programming exercise tool for python Proc. ACM Conf. Comput. Commun. Security Salt Lake City UT 2010.https://doi.org/10.1145/1879211.1879234

J.Helminen L.Malmi andA.Korhonen Quick introduction to programming with an integrated code editor automatic assessment and visual debugging tool—Work in progress 2009 pp. 67–70.

J.Hidalgo‐Céspedes G.Marín‐Raventós andV.Lara‐Villagrán Learning principles in program visualizations: A systematic literature review 2016 IEEE Frontiers in Education Conference (FIE) Erie PA 2016 pp. 1–9.https://doi.org/10.1109/FIE.2016.7757692

C. E.Hmelo andM.Guzdial Of black and glass boxes: Scaffolding for doing and learning Proc. 1996 Int. Conf. Learn. Sci. Evanston IL 1996 pp. 128–134.

10.1086/494645

10.1146/annurev-psych-010213-115057

10.15388/infedu.2009.02

10.1007/s10956-019-09798-4

T.Kohn Variable evaluation: An exploration of novice programmers’ understanding and common misconceptions Proc. 2017 ACM SIGCSE Tech. Symp. Comput. Sci. Educ. SIGCSE’17 Seattle Washington 2017 pp. 345–350.https://doi.org/10.1145/3017680.3017724

H. Koppelman and B. van Dijk Teaching abstraction in introductory courses ITiCSE’10 Proc. 2010 ACM SIGCSE Annu. Conf. Innov. Technol. Comput. Sci. Educ. Bilkent Ankara Turkey 2010.

R.Listeret al. A multi‐national study of reading and tracing skills in novice programmers Proc. Conf. Integr. Technol. Com. Sci. Educ. ITiCSE 2004.

R.Lister Concrete and other neo‐Piagetian forms of reasoning in the novice programmer Proc. Thirteenth Australasian Comput. Educ. Conf. Perth Australia Vol. 114 2011 pp. 9–18.

10.1145/1868358.1868363

10.1080/09500690902792385

L.Mannila andM.deRaadt An objective comparison of languages for teaching introductory programming 2007.

10.1207/s15326985ep3201_1

10.1017/CBO9781139547369.005

10.1207/S15326985EP3801_6

10.1145/572139.572181

O.Meerbaum‐Salant M.Armoni andM.Ben‐Ari Habits of programming in Scratch Proc. 16th Annu. Joint Conf. Innov. Technol. Comput. Sci. Educ. Darmstadt Germany 2011 pp. 168–172.https://doi.org/10.1145/1999747.1999796

Ministry of Science Education and Sports of the Republic of Croatia The curriculum for primary school Zagreb 2005.

10.1007/s10639-017-9673-3

M.Mladenović D.Krpan andS.Mladenović Introducing programming to elementary students novices by using game development in Python and Scratch EDULEARN16 Proc. Barcelona Spain 2016 pp. 1622–1629.https://doi.org/10.21125/edulearn.2016.1323

Mladenović S., 2016, Using games to help novices embrace programming: From elementary to higher education, Int. J. Eng. Educ., 32, 521

Mladenović M., 2017, Learning programming from Scratch, J. Educ Technol, 2, 419

10.5815/ijmecs.2016.08.01

10.1016/j.entcs.2007.01.033

J.Moreno andG.Robles Automatic detection of bad programming habits in scratch: A preliminary study 2014 IEEE Front. Educ. Conf. (FIE) Proc. Madrid Spain 2014 pp. 1–4.https://doi.org/10.1109/FIE.2014.7044055

10.1145/1513593.1513600

10.1145/782941.782998

Papert S., 1980, Mindstorms: Children, Computers, and Powerful Ideas

10.1037/11494-000

Rajala T., 2008, Effectiveness of program visualization: A case study with the ViLLE tool, JITE, 7, 15

10.1145/1592761.1592779

10.1076/csed.13.2.137.14200

L.Seiter andB.Foreman Modeling the learning progressions of computational thinking of primary grade students ICER 2013 Proc. 2013 ACM Conf. Int. Comput. Educ. Res. 2013.

10.1145/2483710.2483713

Sorva J., 2018, Misconceptions and the beginner programmer, Comput. Sci. Educ. Perspect. Teach. Learn. Sch, 171

10.1145/2490822

D.Statter andM.Armoni Teaching abstract thinking in introduction to computer science for 7th graders ACM Int. Conf. Proc. Ser. 2016.

D.Statter andM.Armoni Learning abstraction in computer science: A gender perspective ACM Int. Conf. Proc. Ser. 2017.

10.1037/a0017364

10.1126/science.1128690

J.Tsan K. E.Boyer andC. F.Lynch How early does the CS gender gap emerge? A study of collaborative problem solving in 5th grade computer science SIGCSE 2016 Proc. 47th ACM Tech. Symp. Comput. Sci. Educ. 2016.

10.1145/1056018.1056025

10.1098/rsta.2008.0118

10.1080/08993408.2019.1565233

S.Yardi andA.Bruckman What is computing? Bridging the gap between teenagers’ perceptions and graduate students’ experiences Proc. Third Int. Workshop Comput. Educ. Res. Atlanta GA 2007 pp. 39–50.https://doi.org/10.1145/1288580.1288586

Žanko Ž., 2018, Misconceptions about variables at the K‐12 level, Educ. Inf. Technol., 1