Re-use of programming patterns or problem solving?representation of scratch programs by TGraphs to support static code analysis
Publikationsdatum:
Zu finden in: WiPSCE '20, 2020
|
![]() |
Diese Seite wurde seit 2 Jahren inhaltlich nicht mehr aktualisiert.
Unter Umständen ist sie nicht mehr aktuell.
Zusammenfassungen

Novice programmers seem to learn basic programming skills amazingly fast by using visual programming environments like Scratch or Snap. Yet at a second glance, in many cases, the students' programming projects make use of pre-learned solution patterns like collision detection. Aiming to investigate how far such pre-learned patterns are used and adapted, we have to analyze the program structure of a substantially large number of Scratch projects, e.g. from the Scratch repository, in a very detailed way. To automate the static code analysis of these projects, we developed a scheme to transform Scratch projects into a common graph format (TGraph), which was used up to now to analyze programs in Java and Haskell as well as UML diagrams and mathematical solutions. In a second step, this representation enabled us to apply a SQL-like query language for graphs (GReQL) to detect programming patterns in students' Scratch projects. This paper describes the design of our TGraph scheme for Scratch as well as how to query patterns in Scratch code using GReQL, in order to stimulate the use of this methodology by other researchers. As a feasibility study, we report its application on the outcomes of one of our Scratch courses attended by 143 children aged 8-12 years. The study showed that with the presented methodology any code structure can be detected in Scratch projects. To check the validity of the methodology, the programs were additionally checked manually for the occurrence of two patterns - the results were consistent.

In this paper, we presented a feasibility study for a methodology to investigate the use of certain solution patterns in a large number of Scratch projects. The first results demonstrate that we were able to detect patterns like collision, directed motion, termination by collision or gliding motion, see Table 1. In addition, we could find out how far advanced programming concepts like nested conditions or nested repetition were used, see Table 2. As part of our feasibility study, we also compared the results of our methodology with those of a manual analysis of the Scratch projects. Since the results were completely consistent, they show the validity of the method. Our method – conducting GReQL queries on TGraph representations of Scratch programs – offers versatile search options for code structures. Not only one-to-one representations but also adapted or extended patterns can be found by a wildcard search. It must be noted though that GReQL is a very powerful SQL-like query language that requires training and can be quite tricky in detail. Compared to other tools that offer static code analysis of Scratch code, the advantage is that any kind of code structure can be queried without having to modify an existing program, as for example in the plugin system of Hairball [6]. Even though our number of projects (n=295) could have been analyzed manually with great effort, the method opens up the possibility to examine larger quantities of projects, such as the Scratch repository or results of MOOCs. In summary, the presented method for querying Scratch block structures on TGraphs offers broad support in the search for any solution patterns. Therefore, it can help to answer the question of how students implement and adapt pre-learned solution patterns. However, further analysis of the existing data is needed, using a mixed-method approach where parts of the projects are qualitatively analyzed manually.
Dieses Konferenz-Paper erwähnt ...
![]() Personen KB IB clear | Michal Armoni , Tim Bell , Mordechai Ben-Ari , Marie A. Bienkowski , Bryce Boe , Karen Brennan , Phillip Conrad , Greg Dreschler , Caitlin Duncan , Evelyn Eastmond , Brendan Foreman , Diana Franklin , Erich Gamma , Richard Helm , Charlotte Hill , Ralph Johnson , Yasmin B. Kafai , Maria Kallia , Michelle Len , John Maloney , Steven McGee , Orni Meerbaum-Salant , Amon Millner , Andrés Monroy-Hernández , Jesús Moreno-León , Mitchel Resnick , Gregorio Robles , Eric Rosenbaum , Natalie Rusk , Daisy Rutstein , Linda M. Seiter , Cynthia C. Selby , Sue Sentance , Jay Silver , Brian Silverman , John Vlissides , David Weintrop , Uri Wilensky , Jeannette M. Wing | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Begriffe KB IB clear | code smells
, Dr. Scratch
, Java
, Kinder children
, Problemlösefähigkeit problem solving skills
, Programmieren programming
, Programmiersprachenprogramming languages
, Scratch
, Snap! (Programmiersprache)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Bücher |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Texte |
|
Dieses Konferenz-Paper erwähnt vermutlich nicht ... 
![]() Nicht erwähnte Begriffe | blockbasierte Programmierumgebungen, Eltern |
Tagcloud
Zitationsgraph
Zitationsgraph (Beta-Test mit vis.js)
Zeitleiste
2 Erwähnungen 
- WiPSCE '21 - The 16th Workshop in Primary and Secondary Computing Education, Virtual Event / Erlangen, Germany, October 18-20, 2021 (Marc Berges, Andraes Mühling, Michal Armoni) (2021)
- Code Perfumes - Reporting Good Code to Encourage Learners (Florian Obermüller, Lena Bloch, Luisa Greifenstein, Ute Heuer, Gordon Fraser) (2021)
- Code Perfumes - Reporting Good Code to Encourage Learners (Florian Obermüller, Lena Bloch, Luisa Greifenstein, Ute Heuer, Gordon Fraser) (2021)
- WIPSCE '23 - The 18th WiPSCE Conference on Primary and Secondary Computing Education Research (Sue Sentance, Mareen Grillenberger) (2023)
- Impact of Hint Content on Performance and Learning - A Study with Primary School Children in a Scratch Course (Luisa Greifenstein, Markus Brune, Tobias Fuchs, Ute Heuer, Gordon Fraser) (2023)
- Impact of Hint Content on Performance and Learning - A Study with Primary School Children in a Scratch Course (Luisa Greifenstein, Markus Brune, Tobias Fuchs, Ute Heuer, Gordon Fraser) (2023)
Anderswo finden
Volltext dieses Dokuments
![]() | Re-use of programming patterns or problem solving?: Fulltext at the ACM Digital Library ( : , 1587 kByte; : ) |
Anderswo suchen 
Beat und dieses Konferenz-Paper
Beat hat Dieses Konferenz-Paper während seiner Zeit am Institut für Medien und Schule (IMS) ins Biblionetz aufgenommen. Beat besitzt kein physisches, aber ein digitales Exemplar. Eine digitale Version ist auf dem Internet verfügbar (s.o.). Es gibt bisher nur wenige Objekte im Biblionetz, die dieses Werk zitieren.


Kinder
Problemlösefähigkeit
Programmieren
Scratch












, 1587 kByte;
)
Biblionetz-History