Two Approaches for Programming Education in the Domain of Graphics: An Experiment
Luca Chiodini (USI Lugano, Switzerland), Juha Sorva (Aalto University,, Finland), Arto Hellas (Aalto University, Finland), Otto Sepp\"al\"a (Aalto, University, Finland), Matthias Hauswirth (USI Lugano, Switzerland)

TL;DR
This study compares two graphics programming approaches in Python, finding similar learning outcomes but higher accuracy in tracing compositional graphics, and confirms graphics as an engaging domain for teaching introductory programming.
Contribution
It provides empirical evidence on the effectiveness of compositional graphics versus turtle graphics in programming education, highlighting engagement and transfer of learning.
Findings
Few differences in post-test scores between groups
Higher accuracy in tracing compositional graphics programs
Both groups reported high engagement and perceived learning
Abstract
Context: Graphics is a popular domain for teaching introductory programming in a motivating way, even in text-based programming languages. Over the last few decades, a large number of libraries using different approaches have been developed for this purpose. Inquiry: Prior work in introductory programming that uses graphics as input and output has shown positive results in terms of engagement, but research is scarce on whether learners are able to use programming concepts learned through graphics for programming in other domains, transferring what they have learned. Approach: We conducted a randomized, controlled experiment with 145 students as participants divided into two groups. Both groups programmed using graphics in Python, but used different approaches: one group used a compositional graphics library named PyTamaro; the other used the Turtle graphics library from Python's…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
