how kids code and how we know
play

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


  1. How Kids Code and How We Know Fenia Aivaloglou @feniaiv

  2. Sprites

  3. Scripts

  4. Categories Blocks

  5. How do kids code in Scratch?

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

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

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

  9. Size & complexity Concepts & What we features found Code smells

  10. 75% Up to: 5 sprites 12 scripts 76 blocks 233K non-empty projects

  11. 78% Cyclomatic complexity: 1 Cyclomatic complexity: 2

  12. Size & complexity Concepts & What we features found Code smells

  13. in 40% of the projects

  14. in 77% of the projects

  15. in 77% of the projects 12% 52% 36%

  16. in 32% of the projects >4 in 7% of the projects

  17. in 8% of the projects

  18. Size & complexity Concepts & What we features found Code smells

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

  20. scripts with >18 blocks in 30% of the projects

  21. 1 2 4 3

  22. 1 2 4 3

  23. in 28% of the projects 1 2 24% 1% 4 3 8% 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)

  24. One ‘good’ ve r sion

  25. T wo ‘sme lly’ ve r sions

  26. T wo ‘sme lly’ ve r sions L ong me thod Duplic ate d c ode

  27. L ong Me thod Ve r sion

  28. tl;dr Ye s Kids pe r for me d signific antly be tte r on the non- sme lly pr ogr am

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

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

  31. L ong Me thod Ve r sion “Whe n have yo u wo n the game ? ”

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

  33. Duplic ate d Code Ve r Ve r sion D 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)

  34. E duc ate !

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

  36. What kids thought the y le ar ne d

  37. What the y r e ally le ar ne d

  38. 2200 1.958 1700 1200 Students 788 700 504 292 218 150 82 200 1 2 3 Mid-term 4 5 6 Bonus Final test -300 Course week

  39. http://www.katyjordan.com/MOOCproject.html 2200 1.958 1700 1200 Students 788 700 504 292 218 150 82 200 1 2 3 Mid-term 4 5 6 Bonus Final test -300 Course week

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

  41. Student profile Discussion forum Course videos Questionnaires

  42. Follow the course with a parent Late in joining 2200 1700 1200 Students 700 200 1 2 3 Mid-term 4 5 6 Bonus Final test -300 Course week

  43. Try all questionnaires Get a good grade Have a failed answer 2200 1700 1200 Students 700 200 1 2 3 Mid-term 4 5 6 Bonus Final test -300 Course week

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

  45. 64 quizzes 2 tests smells + programming concepts

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

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

  48. 1.2 1 0.8 Conditionals Mean grade Coordination Variables 0.6 Loops Operators 0.4 Parallelization Procedures 0.2 0 5 6 7 8 9 10 11 12 13 14 15 Student age 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)

  49. Paper VS Computer

  50. http://csunplugged.org/ 8 weeks

  51. 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)

  52. 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 orientation Fenia Aivaloglou @feniaiv

Recommend


More recommend