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

software clones in scratch projects
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1/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 21st 2017

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-2
SLIDE 2

2/19 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. Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-3
SLIDE 3

3/19 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:

1

The formulation of a problem (abstraction),

2

the expression of a solution (implementation),

3

and the execution and evaluation of the solution (analysis).

Background picture: Simon Cunningham

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-4
SLIDE 4

4/19 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/

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-5
SLIDE 5

5/19 What is CT? Scratch and assessment of CT Research paper

Some fun

I need your help!

https://scratch.mit.edu/projects/114556022/

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-6
SLIDE 6

6/19 What is CT? Scratch and assessment of CT Research paper

  • Dr. Scratch - http://drscratch.org

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-7
SLIDE 7

7/19 What is CT? Scratch and assessment of CT Research paper

Assessment of CT development

CT dimension Basic Developing Proficient Data representation modifiers

  • f

sprites properties

  • perations on vars
  • perations on lists

Logical Thinking if if else logic operations User interactivity green flag key pressed, sprite clicked, ask and wait, mouse blocks when %s is >%s, video, audio Algorithmic notions

  • f flow control

sequence of blocks repeat, forever repeat until Abstraction and problem decomposi- tion more than one script and more than one sprite def block Scratch-clones (in- stances) Parallelism Two scripts on green flag Two scripts on key pressed, two scripts

  • n sprite clicked on

the same sprite Two scripts on when I receive message, two scripts when %s is >%s, two scripts

  • n

when backdrop change to Synchronization wait Broadcast, when I re- ceive message, stop all, stop program, stop programs sprite wait until, when backdrop change to, broadcast and wait

Table : Level of development for each CT dimension

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-8
SLIDE 8

8/19 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).

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-9
SLIDE 9

9/19 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

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-10
SLIDE 10

10/19 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

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-11
SLIDE 11

11/19 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.

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-12
SLIDE 12

12/19 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.

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-13
SLIDE 13

13/19 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.

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-14
SLIDE 14

14/19 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.

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-15
SLIDE 15

15/19 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.

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-16
SLIDE 16

16/19 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.

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-17
SLIDE 17

17/19 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

Background picture: flamingcow.co.uk

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-18
SLIDE 18

18/19 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´
  • n, 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´

  • n 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

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects

slide-19
SLIDE 19

19/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 21st 2017

Gregorio Robles <grex@gsyc.urjc.es> Software Clones in Scratch Projects