How Kids Code and How We Know Fenia Aivaloglou @feniaiv Sprites - - PowerPoint PPT Presentation

how kids code and how we know
SMART_READER_LITE
LIVE PREVIEW

How Kids Code and How We Know Fenia Aivaloglou @feniaiv Sprites - - PowerPoint PPT Presentation

How Kids Code and How We Know Fenia Aivaloglou @feniaiv Sprites Scripts Categories Blocks How do kids code in Scratch? Size & complexity Concepts & How do kids features code in Scratch? Code smells Scratch web interface


slide-1
SLIDE 1

How Kids Code and How We Know

Fenia Aivaloglou @feniaiv

slide-2
SLIDE 2
slide-3
SLIDE 3

Sprites

slide-4
SLIDE 4

Scripts

slide-5
SLIDE 5

Blocks Categories

slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8

How do kids code in Scratch?

slide-9
SLIDE 9

How do kids code in Scratch? Size & complexity Concepts & features Code smells

slide-10
SLIDE 10
slide-11
SLIDE 11

Scratch web interface JSON files of 250K projects CSV files of 247K projects

slide-12
SLIDE 12

CSV files of 247K projects Database

  • E. Aivaloglou, F. Hermans, J. Moreno-León, and G. Robles. 2017. A dataset of scratch programs: scraped, shaped and
  • scored. In Proceedings of the 14th International Conference on Mining Software Repositories (MSR '17)
slide-13
SLIDE 13

What we found

Size & complexity Concepts & features Code smells

slide-14
SLIDE 14
slide-15
SLIDE 15

75% Up to: 5 sprites 12 scripts 76 blocks

233K non-empty projects

slide-16
SLIDE 16
slide-17
SLIDE 17
slide-18
SLIDE 18

Cyclomatic complexity: 1 Cyclomatic complexity: 2

78%

slide-19
SLIDE 19
slide-20
SLIDE 20
slide-21
SLIDE 21

What we found

Size & complexity Concepts & features Code smells

slide-22
SLIDE 22

in 40% of the projects

slide-23
SLIDE 23

in 77% of the projects

slide-24
SLIDE 24

in 77% of the projects

52% 36% 12%

slide-25
SLIDE 25

in 32% of the projects

>4 in 7% of the projects

slide-26
SLIDE 26

in 8% of the projects

slide-27
SLIDE 27
slide-28
SLIDE 28
slide-29
SLIDE 29

What we found

Size & complexity Concepts & features Code smells

slide-30
SLIDE 30

Across sprites: in 26% of the projects Within sprites: in 10% of the projects

slide-31
SLIDE 31

scripts with >18 blocks in 30% of the projects

slide-32
SLIDE 32

1 3 2 4

slide-33
SLIDE 33

3 1 2 4

slide-34
SLIDE 34

3 1 2 4

in 28% of the projects

1% 8% 24%

  • E. Aivaloglou and F. Hermans. 2016. How Kids Code and How We Know: An Exploratory Study on the Scratch Repository.

In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER ‘16)

slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37

One ‘good’ ve r sion

slide-38
SLIDE 38

T wo ‘sme lly’ ve r sions

slide-39
SLIDE 39

T wo ‘sme lly’ ve r sions L

  • ng me thod

Duplic ate d c ode

slide-40
SLIDE 40

L

  • ng Me thod Ve r

sion

slide-41
SLIDE 41
slide-42
SLIDE 42

tl;dr Ye s Kids pe r for me d signific antly be tte r

  • n the non- sme lly

pr

  • gr

am

slide-43
SLIDE 43

tl;dr Ye s But, diffe r e nc e s tasks ar e impac te d diffe r e ntly

slide-44
SLIDE 44

‘Good’ Ve r sion “Whe n have yo u wo n the game ? ”

slide-45
SLIDE 45

L

  • ng Me thod Ve r

sion “Whe n have yo u wo n the game ? ”

slide-46
SLIDE 46

‘Good’ Ve r sion “Make the game go to 10 po ints”

slide-47
SLIDE 47

Ve r sion D Duplic ate d Code Ve r sion

F . Hermans and E. Aivaloglou, Do code smells hamper novice programming? A controlled experiment on Scratch programs, 2016 IEEE 24th International Conference on Program Comprehension (ICPC)

slide-48
SLIDE 48
slide-49
SLIDE 49

E duc ate !

slide-50
SLIDE 50
slide-51
SLIDE 51

8 years old Male (65%) No programming experience (60%) With parent

slide-52
SLIDE 52

What kids thought the y le ar ne d

slide-53
SLIDE 53

What the y r e ally le ar ne d

slide-54
SLIDE 54

1.958 788 504 292 218 150 82

  • 300

200 700 1200 1700 2200 1 2 3 Mid-term 4 5 6 Bonus Final test Students Course week

slide-55
SLIDE 55

1.958 788 504 292 218 150 82

  • 300

200 700 1200 1700 2200 1 2 3 Mid-term 4 5 6 Bonus Final test Students Course week

http://www.katyjordan.com/MOOCproject.html

slide-56
SLIDE 56
  • 300

200 700 1200 1700 2200 1 2 3 Mid-term 4 5 6 Bonus Final test Students Course week

?,?,?

slide-57
SLIDE 57

Student profile Discussion forum Course videos Questionnaires

slide-58
SLIDE 58
  • 300

200 700 1200 1700 2200 1 2 3 Mid-term 4 5 6 Bonus Final test Students Course week

Follow the course with a parent Late in joining

slide-59
SLIDE 59
  • 300

200 700 1200 1700 2200 1 2 3 Mid-term 4 5 6 Bonus Final test Students Course week

Try all questionnaires Get a good grade Have a failed answer

slide-60
SLIDE 60
  • 300

200 700 1200 1700 2200 1 2 3 Mid-term 4 5 6 Bonus Final test Students Course week

Gender Age

slide-61
SLIDE 61

64 quizzes 2 tests smells + programming concepts

slide-62
SLIDE 62

0.2 0.4 0.6 0.8 1 1.2 5 6 7 8 9 10 11 12 13 14 15 Mean grade Student age Conditionals Coordination Variables Loops Operators Parallelization Procedures

slide-63
SLIDE 63

0.2 0.4 0.6 0.8 1 1.2 5 6 7 8 9 10 11 12 13 14 15 Mean grade Student age Conditionals Coordination Variables Loops Operators Parallelization Procedures

slide-64
SLIDE 64

0.2 0.4 0.6 0.8 1 1.2 5 6 7 8 9 10 11 12 13 14 15 Mean grade Student age Conditionals Coordination Variables Loops Operators Parallelization Procedures

F . Hermans and E. Aivaloglou. 2017. Teaching software engineering principles to K-12 students: a MOOC on

  • scratch. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering and

Education Track (ICSE-SEET '17)

slide-65
SLIDE 65

Paper VS Computer

slide-66
SLIDE 66

8 weeks

http://csunplugged.org/

slide-67
SLIDE 67

No difference in understanding of programming concepts Better self- efficacy beliefs Used wider selection of Scratch blocks

  • F. Hermans and E. Aivaloglou. 2017. To Scratch or not to Scratch?: A controlled experiment comparing plugged first and

unplugged first programming lessons. In Proceedings of the 12th Workshop on Primary and Secondary Computing Education (WiPSCE '17)

slide-68
SLIDE 68

Future work

  • How do Scratch programs evolve? Complexity, sophistication

and smells

  • Comparison between different environments (Minecraft,

Mindstorms)

  • How to teach the “hard” concepts
  • Early introduction to programming, self-efficacy and career
  • rientation

Fenia Aivaloglou @feniaiv