Why should we teach the kids to program ? I think there are two main motivations for this.
1. Kids (and the rest of us) should not only have skills to use the technology but understand how its made. This principle applies to most other disciplines we learn. Computer programs are a fundamental part of our lives and society - they should to some extent be understood by everyone.
2. It triggers both creativity and logic thinking - basic skills that dramatically boost the learning curve in other disciplines as math and physics. This line of thought goes all the way back to Seymour Papert in the 1980´s. Se my previous blog post on his book "Mindstorms : Children, Computers and Powerful Ideas"
I guess a third motivation is that its fun. Kids already spend a massive amount of time in front of computers playing Minecraft and other games, and may well be motivated by understanding how these programs are created.
The meetup in Bergen was coordinated with a meetup in Oslo, and here are my takeaways from some of the contributors.
Beate Due - member of Digiutvalget talked about their findings :
Norway score good on Digital user skills, but less on digital creation skills - hence they want kids to learn how to code. Kids must learn whats behind the screens.
Jens Christian Brynildsen - shared his experiences from a game programming course with school kids
- Minecraft is a great motivator, kids like to be able to modify a universe.
- Better flow when parents join in, text editing is time consuming.
- Scratch works well for the younger kids.
- Games are always motivating.
- YouTube takes over where you stop the teaching.
Torbjørn Skauli, shared his experience from teaching and organizing Scratch programming coursers at schools. He has also translated Scratch to Norwegian.
He had good experience with using Comprehensive School students to teach kids programming at SFO. By using School facilities and paying them a reasonable amount for teaching, this is possible to scale at a very low cost.
Olve Maudal shared his experience and reflections on what tools fit best based on Piaget's learning states.
Preoperational stage (2-7 years)
- Chess (computer based ?)
- Talking Tom
Concrete operational Period (7-11 years)
- Lego NXT - very good because its tangible and real world
- Rubik's Cube
Formal Operational Period (11+)
- Lego NXT - replace OS
- Rasperry pi
- Commodore 64 :-) Still great, maybe because its a closed world
Other resources mentioned in the following discussions were Pythons for Kids
I really look forward to the continuation of the project. I believe its can have great impact.