4 ms·
I think there are two ways in which children may constructively be taught computing. The first is algorithmic problem solving, which is often better taught usin
by tumba 11y ago
I think there are two ways in which children may constructively be taught computing. The first is algorithmic problem solving, which is often better taught using logic puzzles and games rather than programming trivial if-then statements. Anany and Maria Levitin's book, Algorithmic Puzzles, is a good example of the genre. [1]
Secondly, they need to be taught an active and inquisitive posture towards technology. Most devices today (especially tablets and phones) force the user into a dependent and passive mode of interaction in which it is impossible to know how things work. Accordingly, I think it may be destructive for children to spend too much time with these devices.
The KIBO system described in the article seems like a great thing to play with to build a basic understanding of symbolic control flow, although it too is opaque. I think 4 is too young to spend much time staring at a screen, but by the time a child is 8-10, I think it is better to have an admittedly difficult to use Linux workstation or an old computer running FreeDOS. Also good are the many simple devices arising out of the "maker" movement.
I would really like to give my kids a simple device that could be programmed from the hardware up in something like Forth. Something like an HP calculator, but with a command line and options to connect to other devices would be great.
[1] http://www.amazon.com/gp/product/0199740445 http://www.amazon.com/gp/product/0199740445
- notduncansmith 11y ago> programmed from the hardware up in something like Forth Just curious, what about Forth makes it appealing as a first programming language for kids (or well-suited to hardware programming)?
- Gracana 11y agoForth programs are often designed bottom-up and interactively, so you make things move and blink and sense and then compose those functions into more complex ones, interactively playing and testing all the while. It also imposes little structure and the model of the computer is simple. The while package makes for a nice gradual approach to learning how to program and solve problems. Otoh it's not common so learning resources aren't as plentiful as with other languages, so mum or dad better be there to help you out.
- nickpsecurity 11y agoNah, Forth is too weird. It's determined by how Moore wants things to work as much as anything else. Example: lets force modern computing experience into 18-bit many-core (?!). Wirth's languages are a better start in that they're readable, fast, easy-to-learn, map to real-world use better, and easily extended. The interactive design could be added easily to a simple language/runtime like Oberon. Alternatives include Scheme and Python. One has a long history teaching people and the other is developing one. Python is one I recommended to someone's kid with good results not long ago. Closer to pseudo code as BASIC was while having quite a community and industrial-strength libraries.
- TazeTSchnitzel 11y agoWell, a stack-oriented language is simple and composable. But Forth isn't necessarily the best choice.
- sogen 11y agotheres a cool thing that can connect like legos: to temp monitor... forgot the name, something with blocks, looks awesome, has some kits online, will try to find it.
- nickpsecurity 11y agoI agree with you on second point. I once read a whole article on how industry wants our devices to be for consumption instead of creation and it made a lot of sense. Getting kids to actively approach devices as a form of personal empowerment (and entertainment too) seems like a better approach. They might get a good job later, too. ;)