software clones in scratch projects
play

Software Clones in Scratch Projects On the Presence of - PowerPoint PPT Presentation

What is CT? Scratch and assessment of CT Research paper Software Clones in Scratch Projects On the Presence of Copy-and-Paste in Computational Thinking Learning Gregorio Robles, Jes us Moreno, Efthimia Aivaloglou, and Felienne Hermans


  1. What is CT? Scratch and assessment of CT Research paper Software Clones in Scratch Projects On the Presence of Copy-and-Paste in Computational Thinking Learning Gregorio Robles, Jes´ us Moreno, Efthimia Aivaloglou, and Felienne Hermans Universidad Rey Juan Carlos (Madrid, Spain) - TU Delft (Delft, The Netherlands) Klagenfurt, February 21 st 2017 1/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  2. What is CT? Scratch and assessment of CT Research paper (cc) 2017 Gregorio Robles, Jes´ us Moreno, Efthimia Aivaloglou, and Felienne Hermans Some rights reserved. This work licensed under Creative Commons Attribution-ShareAlike License. To view a copy of full license, see http://creativecommons.org/licenses/by-sa/3.0/ or write to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Some of the figures have been taken from the Internet Source, and author and licence if known, is specified. For those images, fair use applies. 2/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  3. What is CT? Scratch and assessment of CT Research paper Definition of Computational Thinking “Computational Thinking is the process by which a problem is formulated and a solution is expressed in such a way that a computer can carry it out effectively.” (Wing, 2006) It is based on an iterative process with three stages: The formulation of a problem (abstraction), 1 the expression of a solution (implementation), 2 and the execution and evaluation of the solution (analysis). 3 Background picture: Simon Cunningham 3/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  4. What is CT? Scratch and assessment of CT Research paper What is Scratch? Some examples of Scratch programs https://scratch.mit.edu/projects/142863824/ https://scratch.mit.edu/projects/49905542/ 4/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  5. What is CT? Scratch and assessment of CT Research paper Some fun I need your help! https://scratch.mit.edu/projects/114556022/ 5/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  6. What is CT? Scratch and assessment of CT Research paper Dr. Scratch - http://drscratch.org 6/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  7. What is CT? Scratch and assessment of CT Research paper Assessment of CT development CT dimension Basic Developing Proficient Data representation modifiers of sprites operations on vars operations on lists properties Logical Thinking if if else logic operations User interactivity green flag key pressed, sprite when %s is > %s, clicked, ask and wait, video, audio mouse blocks Algorithmic notions sequence of blocks repeat, forever repeat until of flow control Abstraction and more than one script def block Scratch-clones (in- problem decomposi- and more than one stances) tion sprite Parallelism Two scripts on green Two scripts on key Two scripts on when flag pressed, two scripts I receive message, on sprite clicked on two scripts when %s the same sprite is > %s, two scripts on when backdrop change to Synchronization wait Broadcast, when I re- wait until, when ceive message, stop backdrop change to, all, stop program, broadcast and wait stop programs sprite Table : Level of development for each CT dimension 7/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  8. What is CT? Scratch and assessment of CT Research paper Assessment of CT development: Logical Thinking Different levels of development of logical thinking: basic (top), developing (center) and proficient (bottom). 8/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  9. What is CT? Scratch and assessment of CT Research paper Code smells detection Errors or bad programming habits Dead code Attribute initialization Default names Repeated scripts 9/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  10. What is CT? Scratch and assessment of CT Research paper Repeated scripts (cloning) Example of repeated code Solution to avoid repeated code Blocks should be created to avoid repetition of code 10/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  11. What is CT? Scratch and assessment of CT Research paper Research Questions 1 How frequent is software cloning in Scratch projects? 2 Is software cloning independent of the mastery required to create a project? 3 Is software cloning related more to any of the CT dimensions? 4 Do learners who have the ability to avoid software cloning do it? To answer these RQs, we analyze 231,050 projects available in the Scratch platform. 11/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  12. What is CT? Scratch and assessment of CT Research paper RQ1: Frequency of Cloning in Scratch Projects RQ1 Software clones can be commonly found in Scratch projects ( ca. 20%), almost three times more frequently than custom blocks ( ca. 7.5%). A third of the projects where user-created custom blocks are found also contain software clones. 12/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  13. What is CT? Scratch and assessment of CT Research paper RQ2: Software Cloning and Mastery Score Figure : Distribution of projects with clones (blue) and without clones (green) in terms of their mastery score. 13/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  14. What is CT? Scratch and assessment of CT Research paper RQ3: Software Cloning and CT Dimensions Figure : Distribution of projects with clones (blue) and without clones (green) for each CT dimension assessed by Dr. Scratch. 14/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  15. What is CT? Scratch and assessment of CT Research paper RQ4: Do Advanced Learners Avoid Cloning? RQ4 Learners who have the abilities to avoid software clones, also clone. However, they clone less frequently with the exception of very complex projects, where they clone the same. 15/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  16. What is CT? Scratch and assessment of CT Research paper Discussion So what? For learning computational thinking skills, how important is it to avoid code clones? (thanks, reviewer #2) We have found that cloning has not been paid the importance it should have Learning environments should include functionality to detect code cloning, and warn learners, advising to use custom blocks. 16/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  17. What is CT? Scratch and assessment of CT Research paper Takeaways Cloning in Scratch Software cloning is an extended practice in Scratch Learners start to clone when in the development level We expected cloning to disappear with high mastery scores; this does not happen Insights could be used by Learners Educators Platform developers, such as Scratch Learning assessment tools 17/19 Background picture: flamingcow.co.uk Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  18. What is CT? Scratch and assessment of CT Research paper Learn more Some references Replication package: https://gsyc.urjc.es/~grex/repro/2016-iwsc-scratch F. Hermans and E. Aivaloglou, “Do code smells hamper novice programming? a controlled experiment on Scratch programs” in Program Comprehension (ICPC), 24th International Conference on. IEEE, 2016, pp. 1-10. J. Moreno-Le´ on, G. Robles, and M. Rom´ an-Gonz´ alez, “Dr. Scratch: Automatic analysis of Scratch projects to assess and foster Computational Tshinking” in RED. Revista de Educaci´ on a Distancia, vol. 15, no. 46, 2015. E. Aivaloglou and F. Hermans, “How kids code and how we know: An exploratory study on the Scratch repository” in 2016 ACM Conference on Intl Computing Education Research. ACM, 2016, pp. 53-61 18/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

  19. What is CT? Scratch and assessment of CT Research paper Software Clones in Scratch Projects On the Presence of Copy-and-Paste in Computational Thinking Learning Gregorio Robles, Jes´ us Moreno, Efthimia Aivaloglou, and Felienne Hermans Universidad Rey Juan Carlos (Madrid, Spain) - TU Delft (Delft, The Netherlands) Klagenfurt, February 21 st 2017 19/19 Gregorio Robles < grex@gsyc.urjc.es > Software Clones in Scratch Projects

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend