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 JSON files of 250K projects CSV files of 247K projects
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)
Size & complexity Concepts & What we features found Code smells
75% Up to: 5 sprites 12 scripts 76 blocks 233K non-empty projects
78% Cyclomatic complexity: 1 Cyclomatic complexity: 2
Size & complexity Concepts & What we features found Code smells
in 40% of the projects
in 77% of the projects
in 77% of the projects 12% 52% 36%
in 32% of the projects >4 in 7% of the projects
in 8% of the projects
Size & complexity Concepts & What we features found Code smells
Across sprites: in 26% of the projects Within sprites: in 10% of the projects
scripts with >18 blocks in 30% of the projects
1 2 4 3
1 2 4 3
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)
One ‘good’ ve r sion
T wo ‘sme lly’ ve r sions
T wo ‘sme lly’ ve r sions L ong me thod Duplic ate d c ode
L ong Me thod Ve r sion
tl;dr Ye s Kids pe r for me d signific antly be tte r on the non- sme lly pr ogr am
tl;dr Ye s But, diffe r e nc e s tasks ar e impac te d diffe r e ntly
‘Good’ Ve r sion “Whe n have yo u wo n the game ? ”
L ong Me thod Ve r sion “Whe n have yo u wo n the game ? ”
‘Good’ Ve r sion “Make the game go to 10 po ints”
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)
E duc ate !
8 years old Male (65%) No programming experience (60%) With parent
What kids thought the y le ar ne d
What the y r e ally le ar ne d
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
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
Students 1200 1700 2200 -300 200 700 1 2 ?,?,? 3 Mid-term 4 5 6 Course week Bonus Final test
Student profile Discussion forum Course videos Questionnaires
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
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
Gender Age 2200 1700 1200 Students 700 200 1 2 3 Mid-term 4 5 6 Bonus Final test -300 Course week
64 quizzes 2 tests smells + programming concepts
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
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
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)
Paper VS Computer
http://csunplugged.org/ 8 weeks
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)
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