Way I got into it was video games, and having to pick up computers and hardware to actually play anything (along with having my parents generally against it, so if I wanted to upgrade my pc for new games, I had to be careful aka research)<p>So following that idea; don't teach them CS, give them something that'll force them to pick up CS along the way; and don't let them access the easy route to victory<p>IE if he wants to play games, don't let him use anything but windows 7 and ban any modern video game. Give him a few copies of good older titles, and no additional instruction; like civ 3, sim city 1, star control 2, etc; by not giving him modern games, he'll be stuck playing alone with no one his age to talk to about it; no one, that is, but the internet. And if he can only play older works, then he'll inevitably read into the history, and select from the older games, and eventually you can let him upgrade his hardware at his own risk, and so it goes on.<p>Essentially, don't let him get trapped in minecraft; a healthy start, and a tough environment, and he'll come out tough is my belief
You might want to let the 5-year-old watch old episodes of the PBS kids cartoon series, "Cyber Chase". It covers an astonishing range of subjects, from game theory to euclidean geometry to statistics to some programming.<p>Unfortunately, it was canceled before it got to Goedel's Incompleteness Theorem.
Bet they use the TV and are used to it. Get a Raspberry Pi (and keyboard and mouse and controllers), show it to them, plug it in. In whatever order: Play some games. MODIFY a game. Install/run a good LOGO variant (once they read enough to use it). Show them some neat LOGO programming. Help them make their own LOGO programs. Leave them alone to make their own stuff.<p>Consider Scratch or another "kids" environment, if/when LOGO doesn't seem to be enough.<p>When they are up to it, help and/or encourage them to make their own games. Or whatever -- if games turn out not to be their thing.<p>So, you take a TV that is passive. And you make it active. With this cool and tech and not "packaged" looking PCB. And you show them how it can do what <i>they</i> want -- if they can figure it out.<p>And, don't forget to go out and ride bikes, too.<p>P.S. The computer is not magic, and it's not a fancy TV. It's a tool. It'll do whatever you want, if you can figure it out.<p>P.P.S. For bonus points, when they become a teenager, turn them on to the paranoia of the war on general computing. ;-)
I have three five year olds. I been looking into this and I'm considering some of the "programming" games available for android since they have android tablets. They have to work without being able to read, though, so that's an added challenge.<p>Lightbot, Robotizen and Bit by Bit look promising. Tynker appears to require reading.<p>There are several Scratch-based applications out there, like Scratch, Jr. There's even a "PBS Kids" version of Scratch, Jr., which may be the best place to start.<p>We definitely want to encourage all sorts of STEM, though. I'm a software developer and my wife is a mechanical engineer.<p>We received a 3d printer just over a year ago, but mostly they are interested in small toys rather than actually creating anything. I've tried signing up for "teacher" resources for 3d printers, but they always want you to be affiliated with a school. Not much help for parents. That's a big hint to anybody developing STEM curriculum - it starts at home. Get the parents involved, please.
Build a desktop computer together. 5 is a little young to start actual programming, especially if they're just learning to read. But putting together a computer from scratch is more like legos and in the process you can teach them about what each part does (power comes from the P/S at different levels, the CPU does all the calculations like addition/subtraction, HD holds data and memories forever, RAM holds it temporarily, etc)<p>I built one with my son when he was around the same age. Not sure how much computer knowledge he gained from that experience but it was still a fun project
When I was 5, I received a Game Boy for Christmas. It started me down the long road of computers, programming, and my career today.<p>I also had different building toys growing up. K-Nex, LEGOs, and Erector Sets were common. It gave me a place to explore creativity and building. As I grew older, I started learning how to use my father's tools for woodworking and basic carpentry.<p>In that spirit I would recommend fostering the impulse to create, build, and explore.
I have a 5 year old who is a pretty good reader and seems to be naturally interested in math and computers/tablets. He'll get really interested in one thing for a while then float to something else.<p>I set him up on a super old laptop to run the desktop version of Scratch. I picked up a set of books by this publisher at Costco. He made it through 3 of the game tutorials and thought it was fun. The hardest thing for him was clicking/using the mouse and touchpad. <a href="https://www.amazon.com/DK-Workbooks-Coding-Scratch-Workbook/dp/1465444823" rel="nofollow">https://www.amazon.com/DK-Workbooks-Coding-Scratch-Workbook/...</a> We passed the books to some friends after he found something else to explore.<p>Currently, he's avidly playing a game called "Box Island" on iPad. It's a coding game with several free levels. I was pleasantly surprised when he finished the free levels after a few weeks (we limit iPad time) and requested I buy the remaining levels. Before this game, he was playing Kodable, which was free but had terrible graphics, imho.<p>We were gifted Robot Turtles but that didn't take.
You don't tell us about the background. But I would say not to introduce the child at all. Prodigies will seek and find for themselfes, I'd assume. If it shows interest, asking questions, then you may try to answer. If it is a prodigy, it will understand. If not, well, then there is no need to introduce a five years old to CS.
I would recommend the game SpaceChem. It is outstandingly parallel to programming in the sense there is branching, testing, looping logic and similar. You'll probably even love the game yourself. It has great commanding/minion play and a good story if they are a capable reader (the first being the first approach to teach boys, the second girls if you follow teaching advice for typical kids)<p>Minecraft does have a bunch of programming mods. Often times letting you make minions to do stuff for you (some cases in python or a custom language).<p>You could also consider starting with electricity. I've been through college classes for both programming and electricity. And the success of actually learning to read/make/trouble shoot electrical diagrams is much higher than it is for programming.
The book <i>Code: The Hidden Language of Computer Hardware and Software</i> by Charles Petzold is pretty fun for kids. You can play along with almost everything in it if you buy some (cheap) hardware. Very "hands on" explanations.
There's a board game called "Robot Turtles" that's designed to teach programming concepts to kids. I was initially pretty skeptical, but our preschooler loves it.
I'd introduce the kid to age appropriate logic puzzles maybe drop a couple "for everyone of these we'll do that" when dudes a bit older add some video game stuff