Programming should not be a goal for kids, but a tool!
aka guide for playing games in different ways
- Select open source game on github that kids may want to play and you understand code.
- If kids don’t like it (let them play 5 minutes), search something different.
- We used https://github.com/betamos/Snake-JS
- Show that code are just instructions, and by modifying it, playing experience could be different.
- Search for variables and let them adjust it, and allow play after each adjustment.
- Grid size, color, points.
- E.g. it was fun to play on 7×7 field, as well as 40×40 with adjusted length.
- It is really important to let kids play few games after each modification (as we doing it to have fun, not to teach programming).
- Show more advanced concepts by adding new logic.
- If/else, vars, equations are quite easy concepts even for kids, who doesn’t speak English and can’t read well in his own language. They still need to know letters, numbers and able to do basic arithmetic operations however.
- We added code that change snake color based on score. Kids then tried different limits and colors.
- Let adults try game rules that kids were using.
- Show that failures are good way to learn things.
- During that hour, we also explored that wrong instructions could broke whole game, that colors could be encoded with numbers (and having snake color as background is pretty challenging even for adults), that keys could be reassigned (e.g. reverting arrows) and it added different complexity to have fun.
(originally published 2016-11-16)