OT Programming for a child

I've been asked for advice by someone who has a friend with a 10 year old. son. The son only sees his father on occasional weekend visits.
The son has expressed an interest in programming and, as far as I know, is not doing anything in school that relates to this. His father is keen to bring this on.
My start in programming was with home made boards with SC/MP, 8080 and Z80 chips, so I'm completely out of date and past it.
The obvious thing is a Raspberry Pi, but is there anything better out there now? I've never used any of these things. There seems to be plenty, maybe too much, variety in how and what these little boards can do. I have no idea whether he has access to a TV or monitor at home with his mum. I have been told by my son who works in a power-programming environment that there are now some Intel-based boards that "everyone is buying for projects".
I suppose the only answer is for me to buy something and see for myself. I doubt, though whether I have time to do anything justice or do anything beyond adding to the noise. I could donate an old laptop running some version of Linux and donate some old books on C, but I doubt if this would be much use in the family circumstances.
Any views gratefully received.
--
Bill

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 08/04/2015 18:15, Bill wrote:

Minecraft seems to be the springboard for kids of that age
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Wed, 08 Apr 2015 18:34:50 +0100, stuart noble wrote:

Wasn't this dicussed in here fairly recently? The biggest problem is them finding an itch and wanting scratch it

relates

Very little if any though the curiculem is changing but how far it gets into programming even at GCSE level is not very...

out

Donno if the BBC Micro Bit or whatever they are calling it is out yet, or even if it will be publically available. This has the advantage over a Pi in that it has a couple of switches and a matrix of LEDs and, IIRC, battery built in. So program it, over USB from a PC, and it can be stand alone doing it's thing. The swiches can be polled and each LED switched so a bit of code can make the LEDS flash patterns display alphanumeric characters or what ever in response to switch pushes.
http://www.wired.co.uk/news/archive/2015-03/12/bbc-micro-bit-hands-on
The final version should have a magnetometer, accelorometer and Blutooth. Woo, that opens up lots of "fun things".

with

A Pi would require a TV with HDMI input but you then run into the problem of the ZX81 etc hogging the TV when some one else wants to watch Corry or Deadenders...

donate

If there is no computer and/or internet at home it might be better to supply those. An awful lot of schools have homework sites to set and have homework submitted and also expect the kids to be able to research things on the 'net.
A child without 'net access at home is at a serious disadvantage.

"Electronic Lego" it's certainly amazing what you can construct not just buildings and enviroments but basic electonic and logic blocks are available. The Lad started on building an 8 bit computer using just logic gates, he got as far as an 8 bit adder with an output and two input registers and was able to load numbers into it and get the correct answer. I think he got bored with it after that, it's very tedious placing and wiring the half dozen or so gates required for each bit of an adder with carry. Others out in the Minecraft world have built much larger machines.
--
Cheers
Dave.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I was keen on doing that using relays back in 1960 or so, but couldn't afford enough to do more than a one-bit adder with carry output.
--
"That which can be asserted without evidence, can be dismissed without
evidence."
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Wed, 08 Apr 2015 22:06:43 +0000, Tim Streater wrote:

gates,

Get Minecraft and I think the Redstone plugin and satisfy that childhood dream. I'm sure relays are available so you don't have to use these new fangled logic blocks. B-)
Even if they are not Minecraft is Java based so you could write your blocks that act as relays in the Redstone enviroment...
--
Cheers
Dave.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I'm no longer sure I can be bothered. I bought a 68000-based single board computer a few years back and wrote a kernel for it. It was interesting to find that I could get a cross assembler to produce downloadable code for the board, downloadable via a USB-to-serial cable for my Mac, and that doccy for the CPU and serial and parallel chips could be found on the web. So that was interesting for a while, but I couldn't find an application to create and run under my kernel. The board has a header so I could have driven external devices (like relays) but so what.
Meanwhile I've satisfied the programming urge by writing a X-platform email client that I, SWMBO, and a few others are using. Using PHP and Javascript means I can avoid some hard work.
But whoever said you need to have an itch to scratch is right. Writing a few simple statements to shove a shape round the screen is only interesting for a short while, and to do anything interesting means you have to start to understand a number of computer science issues. So I remain skeptical about a lot of the current hype.
--
"I am enclosing two tickets to the first night of my new play; bring a
friend.... if you have one." - GB Shaw to Churchill "Cannot possibly
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

This is very similar to my attitude. I would think that if I were young now, I'd soon get bored with moving blocks round a screen. I'm not sure what would now be the equivalent of the sense of triumph when I managed to get a Z80 reading and writing on one of the bare floppies that I still have somewhere in the loft, and I was much older when I achieved that.
I think I will pass on down the line the sites and programs referenced here and suggest that the youth thinks about what he wants to achieve. If something seems to have grabbed someone's interest, I'll try to research it in more detail so that I have a vague opinion.
Thanks to everyone for all the suggestions.
--
Bill

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Thu, 09 Apr 2015 00:56:53 +0100, Bill wrote:

As more or less covered up thread, the main issue is a complete platform to work on.
If you get a Pi you still need a screen, keyboard, mouse (apart from those who run them headless - but that just means another PC elsewhere).
So if there is a screen always available (e.g. TV in the kid's room) then a Pi with keyboard and mouse could be the way to go.
If not, an old laptop running Linux solves all the problems about input/ output.
You then have a vast choice of learning packages - that is minor compared to providing the infrastructure.
You also, of course, have the issue of keeping the OS up to date, and any packages which you want/need. So a connection to the Internet would be very helpful. If there is no Internet connection you need a supply of SD cards for the Pi (to update elsewhere) or a method (such as a memory stick? ) to bring in updates for the PC or Pi. Sneakernet, in other words. Or just update when visiting somewhere with Internet.
Of course, a phone with a data bundle which can be tethered will supply Internet if you have a wireless or BlueTooth dongle on the PC to talk to the phone (or just use USB).
So the programming tool is the last thing to look at.
You first need a complete development platform which can be updated if/ when required.
I am assuming, of course, the kid doesn't have access to a computer at home already, and is not just asking about how to go about learning programming.
Can you run simple development packages on phones/tablets?
Cheers
Dave R
--
Windows 8.1 on PCSpecialist box

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I have written up and added a compilation of pastes from replies here and sent it off via my daughter (the person with the son is a client of hers).
I have made the point about the platform and offered an old laptop, but I don't know whether they have access to broadband.
Separately, for my own interest, I have downloaded "Terminal IDE" onto an Android tablet after deleting lots of stuff to make space. I haven't tried anything beyond hitting ls -l to prove that something is running and that it might be worth digging out a BT keyboard to see what, if anything, I can do with it.
--
Bill

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Just a quick follow-up on this.
I have now got Terminal IDE up and running. It's in the App Store on Android and is free.
I think I didn't have enough free space on the tablet when I first tried it, but after moving everything I could to the SD card, and uninstalling a bunch of apps, it is now up and running well.
It comes with its own virtual keyboard, which is comprehensive but very small and fiddly on a 7" tablet. The Android tablet keyboard is OK, but you have to switch between 3 screens of it to get most of the commands.
My cheapo external Bluetooth keyboard is better, but even that doesn't have all the keys one needs. Terminal IDE does, however, offer a couple of toggles to convert keys to, for example, provide Esc, which is missing from my Bluetooth device.
Apart from these niggles, it is very impressive, and I've staggered through a couple of the example exercises successfully.
--
Bill

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Have you tried Hacker's Keyboard?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

<Snip>

-
That looks just what is needed and much better than the one included with the app.
I haven't tried it in anger because they turn out to have no Android devices, so I have decided to offer the "give him a Linux laptop" option, and have installed Mint and Eclipse. This was the cheapest option, so I've got to try to renew some tiny amount of programming "knowledge" so there is something for his Dad to look at.
--
Bill

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

<snip>

In terms of programming, there is the whole aspect extending Minecraft - writing mods etc. which has the advantage (if the kid is into minecraft, and 99% of 10 yo seems to be) giving the focus of something to achieve.
A friend (who happens to be a programmer) was having fun recently with his kids, Minecraft and this book:
<(Amazon.com product link shortened)>
As has been mentioned elsewhere, Scratch is good in terms of quick results, and getting their head round how to program without having to actually write out the code
And there are websites such as Code.org
<https://code.org/learn
and Code Academy
<http://www.codecademy.com/
As has been said before, a hook, a reason to be learning it is key (for most people, some kids might be motivated by the challenge of learning it for it's own sake)
Whether it's modding minecraft, hooking up an Arduino to other hardware to make soemthing work or whatever
--
Chris French


Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 08/04/2015 18:15, Bill wrote:

https://scratch.mit.edu/ is purpose built for teaching kids to code. I introduced my kids to it at about that age.
There are guides out there on how to use it. I haven't bothered to look much at http://www.scratchprogramming.org/ but it's the first Google hit. You'll probably enjoy just playing with it.
Also Lightbot is rather sweet, with Android and iThing apps available: https://lightbot.com/
--
Danny Colyer
"I'm riding a unicycle with my pants down. This should be every boy's
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

The Pi is great - I am biased though.
But once the Pi is up & going, there's Scratch which is a visual drag & drop type of programming environment. A 10 year old will love it, then get bored with it in a few hours.
After that, there are many other programming languages - I'm also biased here and would suggest BASIC, however Python is the one of choice...
Pi's are cheap enough. Get a "bundle" with everything ready to go - all you need then is a HDMI montor/TV.
e.g. http://shop.pimoroni.com/products/raspberry-pi-2-starter-kit
Gordon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Wed, 08 Apr 2015 18:15:59 +0100, Bill wrote:

Platform independent (so use a laptop/Pi/PC/whatever)....
Take a look at Greenfoot.
http://www.greenfoot.org
--
My posts are my copyright and if @diy_forums or Home Owners' Hub
wish to copy them they can pay me £30a message.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Bill scribbled

The Sunday Times recently ran a series of articles on children learning to code. There's an associated website
https://editor.playto.io/partner/sunday-times/
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 08/04/2015 21:52, Jonno wrote:

Barclays have also done a web based site:
http://www.barclays.co.uk/LifeSkills/BarclaysCodePlayground/P1242686640999
Might keep someone amused for a couple of hours.
--
Cheers,

John.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Ah!, So thats how they cock up their Bank webshite is it then;!...
--
Tony Sayer




  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
It is a real shame that the environment of the 1980s does not still exist. I saw many children, some as young as 6, using Basic on a spectrum for example, easily getting the concepts of defining the taask, designing the algorithms and making them into subroutines for multiple use. Sadly there seem to be nothing like this around today. Its all black boxes and modules and stuff, no real teaching of the basics in my view. Brian
--
From the Sofa of Brian Gaff Reply address is active
"Bill" < snipped-for-privacy@gmail.com> wrote in message
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

HomeOwnersHub.com is a website for homeowners and building and maintenance pros. It is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.