Today I can't see a way of giving my kids a computer like that, where there are a lot of open-ended ways to create. The iPad games are too directly educational, or mindless, and great creative experiences don't seem available on desktop or iPad suitable for early elementary schoolers.
Any suggestions here? I will be happy to pay $.
- I bought him a Kano computer kit when he was about 7. The kit retailed for about $250 at the time and a kid could assemble it "like LEGO". It came with educational software that introduced him to programming languages, etc. (Unfortunately I do not think they make this kit anymore.) Verdict: MINOR SUCCESS.
- I tried to introduce him to Python (around 7.5) by following an online book about game programming. He did not show much interest. Verdict: FAILURE.
- I introduced him to MakeCode (arcade.makecode.com) around 8. He got absolutely hooked and it is still his favorite platform today. I bought him some cheap hardware (Meowbit) to put his programs on and he loves showing off his games to his friends and everyone else. Verdict: MAJOR SUCCESS.
- I introduced him to Godot when he was 9. He showed strong interest, built a few games in it and even understood enough of the Python like language that Godot has. He used this series of YouTube videos to learn about Godot: https://www.youtube.com/watch?v=HvPTSZl2WCc. Verdict: MEDIUM SUCCESS.
- We are currently building Ben Eater's 8-bit computer (eater.net/8bit) and he absolutely loves it. He is able to follow along with the videos and understand the material at a good level. He has named the computer "Terry". This project does require a lot of my own time. Verdict: MAJOR SUCCESS.
We have also tried other projects (e.g. Raspberry-pi with Raspbian, Arduino, Robotics kits, etc.) although nothing that he showed major interest at the time. I think you have to try with different things to see what will capture your child's imagination.
- She picked the components herself (with dad's supervision to make sure they would work together), so the case and keyboard and so on are ones she likes the look of and wants on her desk.
- She assembled it all and installed the OS herself (again with dad supervising but trying really hard not to help except when requested), so I'm hoping she'll have a much stronger sense of ownership due to the Ikea effect[1].
Still too early to see how well it has worked, but she's been very excited about it so far and proud of her accomplishment. It's the 8Gb model and (as per dad's recommendation) she installed 64-bit Ubuntu on it, so she can use all the same systems and tools she sees her dad using. They are doing Scratch and Python in school, so the plan is for her to use it for at least those things, but she has shown interest in learning how to develop a mobile app, and I'm hoping it'll be a bit of a gateway for other potential interests like video editing, graphics editing etc.
Also want to add that I wouldn't be doing any of this if she hadn't seemed genuinely interested - I have this theory that trying to push children in a certain direction will end up being counter-productive, i.e. you push and they rebel and end up wanting to go the opposite direction just because.
[0] https://www.raspberrypi.com/products/raspberry-pi-4-model-b/
I think your particular childhood memories that understandably left an imprint on you have inadvertently affected your idea of what "open-ended" creation means.
>, and great creative experiences don't seem available on desktop
I also grew up with those 8-bit computers and I don't think the Apple II / Commodore 64 / Texas Instruments TI-99 with burned in ROM BASIC and 64kb RAM are more creative. It was simply a different time and we as children just used the technology that happened to be available for the price point of home computers. If I ignore my childhood, I'd have to objectively weigh those early home computers as less open-ended. Sure, I had fun with BASIC "10 PRINT HELLO 20 GOTO 10" and giggled as the text infinitely scrolled up. But we all had lower standards of novelty because computers were not as powerful.
With today's desktop and a browser, kids can "be creative" with digital art or make music with more powerful tools. Many examples of expressive worlds are just a few clicks away with no software to install or EPROM cartridges to buy:
+ digital art: https://www.google.com/search?q=online+painting
+ digital music: https://www.google.com/search?q=online+beats+maker
+ Javascript is more powerful than ROM BASIC and the tools cost $0
With Commodore or TI computers, I couldn't even save my BASIC programs until my parents saved enough money for a $100 cassette tape interface or $200 for floppy drive. Instead of thinking my childhood time with computers was more creative, I'm actually jealous of what today's kids can do on modern desktop computers and the web.
And more importantly (to the kids), it’s got tons of fun content that other kids have made using those tools. This helps spread ideas and inspiration. They can see something cool and then “look inside it” to see how it was built.
Kids want to be doing what other kids today are doing. Hearing “I loved this as a kid” from a parent can doom something right from the start. Kids want their own experiences, especially as they get older. The technologies you have fond memories of were contemporary at the time you enjoyed them. Your kids also want contemporary experiences.
But most importantly, kids are unique, and often different from their parents. They might not like the same things we did as kids, even if we could exactly recreate them.
I remember being amazingly proud of myself for getting an ascii version of Space Invaders working. I could, as a 10 or 12 year old, make something for myself that kinda looked like and was way more fun (for me) to play that _literally_ the most desirable and sophisticated "computer game" there was at the time.
I talk to a friend's 11 year old occasionally about "computer stuff", and he plays Fortnight and Roblox - and he just can't see a connection between simple child oriented computer programming, and Fortnight, which is what he would rather be playing than futzing around in Scratch (or even Minecraft).
I genuinely don't think many kids these days want t6o spend time playing with there LOGO Turtle, when they could be playing multiplayer games on their phone or iPad instead.
(And, to be fair, _most_ of the kids when I was in school just wanted to play Space Invader clones and not write Basic programs, I did most of my Basic programming in junior high on a BBC Micro, because there were not games on pirated floppy disks, which was what the AppleIIs were all in demand for. I suspect today it'll still only be a half dozen or so kids out of a school of 6 or 800 who _want_ to program computers, same as it was in '79 and '80. The rest of them will just want to play games not learn how to do magic...)
If you wanna give your kids the opportunity, I s3econd cons's suggestion of a RaspberryPi400. Add a spare HDMI monitor and you're got "the spiritual equivalent" of an AppleII. Don't get your hopes up _too_ high about your kids being the maybe 1% of people who choose to program for fun.
If you give that to them, odds are overwhelmingly (I'm guesstimating at least 99:1) that your kids might show some interest for less than 5 minutes, and them move on to their current preferred form of entertainment. You might stretch it a bit if there is a knowledgable and enthusiastic adult sitting with them all the time, but most will only continu when the adult is present. How many hours can you spare?
Back in the 1980s, we had 3 tv channels (with mostly boring adult programming), a library that we visited a few times per month, to take out 6 books per visit, a video store where we rented movies a few times per year. Even in that restrictive setting with far less competition for attention, most of the (few) children who hade home computers only used them (personal schoolyard experience) to consume (cracked) games. Nowadays, with the endless streams of highly optimised attentions sinks (all-you-can-eat video channels, adware/IAP touch screen "games"), just giving them open-ended ways to create or great creative experiences does not stand any chance.
Now maybe your children are among the very few that do have an aptitude for open-world creativity. You can probably tell with something like Lego, or paid games with some creation tools (Minecraft, Super Mario Maker). But don't be too disappointed if they show little interest or enthusiasm. It's not you, nor the hardware/software. It's the children themselves.
I thought I could just buy my kid an old C64 or ZXSpectrum, but those computers are just sooo slow and cumbersome now. They have the right spirit, but too nonstandard and weird in some ways. If you just want an environment to go over basic programming and doing sprite stuff, they can work.
One possibility is to get a raspberry pi kit that comes with a display and keyboard to where it is kinda like the old C64 experience. Depending on their age, make it a family activity. I doubt my kid would just go read on their own (at least now), but when I say it's reading time and sit down with them, it is usually an enjoyable activity. Start with Scratch and then later move to a Basic interpreter or Python. Programming is hard, but if they have little example text games to program and tweak, they'll pick it up little by little. To really learn, they'll have to keep at it (a few hours a week). It probably won't be super enjoyable at first, but eventually I bet they'll be happy once they can actually do stuff.
As far as Basic goes...Once you've taught them some basics (print statements, if-then, for loops, while loops, arrays), you can help them with creating easy games like tic-tac-toe, guess the number, a 3 room text adventure...etc. This will never be the dopamine hit that watching TV, social media, or playing Fortnite will be though unless they're really just into it.
https://www.raspberrypi.com/products/raspberry-pi-400-unit/
These are about USD100 a pop and need a HDMI screen and you're all set.
And then configure it to run a Basic or Python REPL on boot, to give that 1970s home PC feel.
Any attempt to revive that sense of wonder has to be something that seems like an achievement, which is why Lego Mindstorms keeps getting a mention. Along that vein..
- If going down the Raspberry Pi route, look at doing stuff with sensors, servo drivers, that kind of thing. The CrowPi seems to be good for that.
- An Arduino educational kit with a bunch of electronics is really good - particularly if you can get it with a proper accompanying educational programme and all of the bits. Arduino is probably better than a Pi to get some introduction to embedded and electronics, because you don’t have to have an argument with your parents about whether or not systemd is a good thing.
- Good projects are buying LED lighting strips for their bedrooms and finding ways to turn them on and wire them up. It has to be something that you can’t get from Amazon Prime, so LED strips that you have to cut and solder make it much cooler.
- 3D printing is still amazing. Kids feel that they have produced something from nothing. The sense of wonder is definitely there.
- Radio controlled electric planes or drones are good. There is a fair amount of ‘programming’ involved (of radios, ESCs, etc), and it is surprisingly more complex than you would think. Start off simple though with a kit that has some self-assembly and upgradability.
You can get a nicely specc'ed ZX Next (https://www.specnext.com/) or Amstrad CPC6128 for the budget, or find an old C64 and deck it out with some solid-state storage (actually do this for all the machines, they all have it now).
My kids learned hacking on an Oric Atmos with a Cumulus drive (SD-card storage), which was just mind-blowing to see and also very, very inspiring for me personally, as a 40-year veteran of the art of programming.
These systems are still out there, and still work. AND, they are amazing - just look at the beauty of the 10liner Basic competition, which this year was won by an Oric Atmos program that implemented a fully working Lunar Lander game in 10 lines of Basic, custom graphics, sound and all!
https://gkanold.wixsite.com/homeputerium/games-list-2022
(Winning entry here: https://bunsen.itch.io/moon-landing-by-rax)
Failing that, check out the Clockwork Pi options: https://www.clockworkpi.com/
I also kept them on linux (ubuntu) machines until they started high School - the reasons for this were 2-fold:
1) let them get comfortable with other OS's - they saw windows machines at school and ipads, this showed them that they were all 'just computers' and feel comfortable jumping between os's
2) security - oh man if you could see the amount of dodgy looking .exe and .bat files that are in the download folders.
My kids have now moved on to Godot and pygame, but an old laptop with Scratch was the key.
Not a computer but I think embodies a lot of the open-ended creativity of the Apple II.
The best part was "no distraction environment" no internet, no messages, nothing, you have to be bored a bit to get creative.
Though my daughter doesnt use it much (she did in the beginning), it is super hard to compete with modern entertainment which is so reachable and so instant. All kids get what they want immediately after they want it. I want a football, order online, it arrives same day. I want to watch this movie, they start watching.
I am trying to create some time per day, in a safe space where she can be creative and bored.
[1]: https://github.com/jackdoe/programming-for-kids/blob/master/...
If you want your kid to learn, I think you should sit down with them, and learn alongside them. Start super simple, get something like a STEMMA/QT connection Trinkey and a gas sensor from Adafruit, plug them together and write a python loop to display the gas levels. You can call it a fart detector to get the kid interested.
That's a simple example that someone might say is too complex. Thing is, a kid generally has zero interest in loops, IO, libraries, etc etc. They may need to see and hold something for it to take priority over Fortnite or whatever. Other projects might be a do not disturb LED for their bedroom door. Or get a strip of LEDs and have them light up based on what they do in Fortnite or Minecraft (if that's possible)
Good luck, so many children have serious attention problems due to their saturation in social media.
- Codea - https://codea.io - it took a while, but eventually they found out that there's a few sample games, so they thought they'd found a loophole to "no more screentime for games". Then it took a bit longer until they realized they can tweak the source code. "Look at this, no gravity" or "Look at my high score!" (after tweaking the scores to increase in increments of 1000 instead of 1), or "Look, I changed the text messages" etc.
- Swift Playgrounds - they're not super fascinated with this, but I see them occasionally open it and noodle around.
- Procreate - they have an Apple Pencil, and any YouTube video about using Procreate is exempt from Screentime limits. This has led to a lot of amazing digital illustrations.
- Pages - just this simple built-in app is already pretty fun if kids are bored, and something is exempt from screentime. Last weekend one of them asked to go to Starbucks, because she's "writing a novel". She wrote a short story over ~5 pages, and was super proud of it.
- YouTube - in general, this is my least favorite app of theirs, and I try to police this the most. But any requests for videos where you learn things are exempt from screentime limits (case by case). E.g. Lego builds, origami, drawing instructions, "how to make slime at home" videos, etc.
This is a great question, and I'm eager to see what other creativity-fostering approaches are there. But to sum up my approach - limit screentime for mindless games, and let boredom take care of the rest.
Mine is equipped with:
80 Col / mem expansion to 128K
Fast Chip for some speed, up to 16Mhz (which is crazy fast on most software designed for 1Mhz)
HDMI output device, VidHD card. This thing is GREAT.
CFFA / USB Flash disk solution for loading programs, disk images, etc...
My younger granddaughter enjoys the machine. I've got a joystick on it, and am seeking a mouse card. Those are a PITA right now, and I may just build one.
I need a printing solution and that's true for my home overall right now. Gotta break down and get a good printer. I just hate doing that. Need to talk to some people and get one I won't get pissed off at.
Right now, we play games, education and action, create with the various programs, painting, etc... She enjoys time on the machine and soon will write some little programs.
LOGO is just too much fun for little kids. I can't wait to see her try it. And with a little speed boost, the machine should really perform!
That all said, my mind goes right to the Raspi 400. It's a pretty cool little computer, built into a keyboard, has the right ports, etc...
If you do some setup on that thing, a younger person could have a good time, and could by the way run an emulated Apple and have a good experience.
I see billziss talking about building the Ben Eater 6502. This is something I would enjoy with them. And if successful, that is a powerful experience on par with anything we had back then.
Not strictly programming-related per se, but they were a very educational toy. Messing around with these from a young age probably helped to cultivate an interest in electronics, how things worked, and later computing/programming.
Then he got to help as we installed dual-boot Ubuntu and Windows, with Ubuntu being default :)
In windows I installed some games I felt ok about. Microsoft Flight Simulator, Kerbal Space Program, Pokemon TCG, his school office apps. But I only let him run Minecraft on the Linux side, so he will have to boot there and sort it out from time to time, with the bonus of a Minecraft server environment we've hacked a bit.
We're no longer in the 80s, that's for sure! But I think focusing on learning the components of hardware/software in computing are better done on a desktop than a laptop or tablet. There's really nothing to be learned in today's repair-hostile walled gardens.
They went through Scratch in a browser and iPads to Unity and Xcode (through Thonny on a Pi and Pythonista on iOS), but we all like PICO-8’s constraints and integrated graphics/music/code editing. It is a gem and feels better than the ZX Spectrum and C64 ever did, really.
So maybe just get a Pi or and old laptop and buy PICO-8 to run on it as an experiment.
Now I'm older and I have teenagers and I did try to recreate this experience for them: Logo, RasPi, MicroBit, electronics kits, etc. But the truth is that simple stuff just wasn't that interesting to them. They played a lot of minecraft and built huge automatons with redstone and chickens, and they explored worlds like Mario Galaxy (impressively huge to me). I guess they got out of that something similar to what I did with my Vic 20. I can regret that their experience is built on a deep stack of tech that they know little about, but I don't think they really cared about that - if they thought abut it at all.
New technology attracts enthusiasts - but then it fades into the background or fades away. When cars became things that normal people could own, there were car clubs for people who enjoyed messing with cars. Some of these clubs still exist. When sound recording became a consumer tech, there were clubs were people met to listen to and share recordings. Domestic CB radio was a thing for a while. Astronomy clubs still exist - from their origins in a time when it became possible to buy a telescope and actually do new stuff with it.
My advice is to look for ways for them to actively explore the world in a positive, non-passive, fun way. Equip them with the means to explore - don't try to teach them web development. Don't ask them to stick with one thing. There's a lot more stuff now - so its ok to try things and abandon them and move one. They'll do that anyway.
If you make something that doesn't have a website browser and can't play a youtube video young people won't see it as a computer.
It's easy to forget that BBC micros etc were popular for games, and being fully fledged computers, as well as educational devices.
Repl.it also works well on the iPad, as long as you sign in for them, so they can play with any language they like.
If you want an actual computer that they can play around with that's cheap then a Raspberry Pi is a good choice. The Pi 400 with it's integrated keyboard is excellent.
If you want some programming projects then have a look at https://projects.raspberrypi.org/en
They're not just projects for using the Raspberry Pi. There's a tonne of Scratch, Python and HTML stuff for them to work through as well.
I'd suggest https://projects.raspberrypi.org/en/pathways/scratch-intro if they've never used Scratch before. All the projects are tablet friendly as well.
I had a lot of fun as a kid playing Minecraft and building Redstone contraptions. Minecraft does invite tinkering with texture packs, mods etc.
So I'd say just go with a basic windows install on a normal PC.
Then I wrote her own "OS" - it's a bunch of python and bash scripts that run things she wants. As she asks for more things it should do I add a command and show her. So far she can:
1) Log in with name and five letter password* 2) whoami (she loves this) 3) music - it plays a random track from her music collection 4) photo - a random picture from our vacation last summer with her in it 5) sound - a random sfx plays in the speaker 6) say - text2speech the next word
The main objective is to get her typing and word recognition happening. She is 5, so definitely NO INTERNET. This summer I am going to add
7) talk - unix talk to daddy's computer on the LAN *
* we haven't talked cybersecurity yet, remembering 5 character password is still advanced
* I will regret this I know
There's this prominent French artist who makes his creations on that device: https://twitter.com/Kekeflipnote/status/1487872156629413888
The device itself is not meant for professional work, therefore should be suitable for beginners and kids but obviously it is powerful enough to be used as a primary tool by a recognised artist.
The software he is using is Flipnote Studio 3D:
https://www.nintendo.co.uk/Games/Nintendo-3DS-download-softw...
Between SNES and N64 I'll introduce him to dos games. Then basic to show him how to control basic output and PC speaker(that's going to be a hunt).
I'll see how he likes all that stuff and if he is interested, steer him through how I had access.
I know once he hits 8ish he and his friends will be into whatever is popular at the time online wise, but it's the only way I can figure to see if he is interested enough to try programming.
Back in the day most of the entertainment kids got were TV and occasionally film but both are also family/friend activities. Then the personal computer showed up, and many kids wanted to make games because 1) That's so cool and 2) There was not many games anyway. They naturally learned BASIC because that was the only high level language pre-installed and then naturally learned Assembly because that was the only language left and is of high performance -- exactly what games need. Once they bag that as a skill there is not too much to stop them.
Nowadays there are way to many instant-gratification floating around. Kids get in touch with phones and pads so early that a whole generation from my country actually don't know much about computers, just phones and pads. Can't blame them though, because phones and pads were the first thing they got hooked up and addicted.
Honestly I don't even know what I can do as a parent. The only way is to see if a kid has a thirsty for creativity, and go for it if he/she does. I'm not sure if a Pi is equivalent to Apple II back in the day, but perhaps that's the best we can get. I still believe that people should start from some bare metal and grow gradually from there, because that dispels a lot of black magic. But maybe that's too much nowadays because of the instant-gratification culture we are grooming worldwide. Life is too short use Python.
In comparison, my parents paid $2,000 for an Apple IIc. Back then. Like, I'm not adjusting for inflation.
I also think a slightly different way to go here is an arduino kit. Even as an adult, I got some kind of ardunio kit with a bunch of parts that got me more interested in wiring & coding. I like it because it gives you the code and parts to get things working, but then, you have a bunch of stuff left over to expand on it. If you don't like coding, you can reuse the same code and build out the hardware, and vice versa. That is definitely more work and less play than Number Munchers though. You'll probably have to do some of the stuff with your kids, depending on how curious they are about this stuff. I've seen things that look like simpler arduino kits meant for teaching younger kids similar concepts, but I don't know how good they are.
I think a synthesizer is good, too. A cheap FM synth with a bunch of dials lets you play real songs, exercise your creativity and maybe learn some science skills by mistake like an old computer with a BASIC interpreter. There's probably software solutions geared towards infotainment as well.
Same with the C-64. I had a C-64 (one of my stepdads had a ][ but it wasn't "mine") and I had a book that told me what every memory location was used for in a C-64. It wasn't a kid's computer, it was a computer that a kid could still comprehend fully.
I don't know what to tell you. That world is gone. You can give your kids toys but that's not what that was.
It runs on a lot of computers, its fun to make graphics and games. The online version is "javascript" and lets you code online and share off. And if you have a machine with a browser you can run it.
"The coding train" series has some tutorials, from very basic to pretty complex.
Because they all-too-often display a vicarious hubris that some how some way my [limited] memory of childhood is the Only True Way™ to experience childhood, and must be replicated for every successive generation
Nostalgia is great - but I do not want to force my kids to go through the stages I had to to get to where I am now
I want them "standing on the shoulders of giants" to be able to do the next Great Thing™
Or for them to decide to do something totally different - because I don't want them following in my career and hobby footsteps because I do it, but because they actually want to do it
Socrates bemoaned this self-same behavior in children ~2400 years ago: "The children now love luxury; they have bad manners, contempt for authority; they show disrespect for elders and love chatter in place of exercise. Children are now tyrants, not the servants of their households. They no longer rise when elders enter the room. They contradict their parents, chatter before company, gobble up dainties at the table, cross their legs, and tyrannize their teachers."
Don't mistake your biased nostalgia as some kind of Thou Shalt Do Thus™ for the next generation
Surely there are positives of how you learned something, but that doesn't mean it is the One True Way™ to learn
1) It had very fast storage for the time
2) It had excellent documentation in the box
3) The BASIC interpreters were better than what shipped with the Atari and Commodore machines
4) Apple LOGO was particularly well executed for something on an 8-bit machine
5) I had the impression it was easier at the time to get pirated copies of more sophisticated software like macro assemblers, Apple Pascal, etc for the Apple; Commodore and Atari circles were about the games
6) It had a built-in debugger ("monitor") with mini assembler
7) It had card slots that were straightforward to interface to - building real hardware for it was possible for a hobbyist. Also, it was affordable and practical to have an 80-column display
8) As you've noted the educational software for younger kids was exceptional
I just don't see anything remotely like that today but a used Apple II, and even then you're not going to have the ferment of early-mid-eighties home computer culture.
The counterargument is that today we have an embarassment of riches - the paradox of choice - and if you carefully select hardware and software and books for your kids (Scratch or Snap, paint programs, robotics kits, whatever takes with their interests) there's a much bigger world for them to explore.
But if you really wanna go oldschool, there's THEC64 from Retro Games Ltd. Sure, it's an ARM SBC that boots straight into VICE. But the effort, polish, and craftsmanship they put in to making a modern replica C64 experience is second to none. The keyboard looks and feels like the real thing, and you can boot into BASIC or (with a USB stick) any other C64 programming environment. (I got Forth running with no issue at all.)
The kid's probably gonna find it quaintly retro at best. But if they're curious about programming they may wish to find out just what they can accomplish with such a limited, retro machine. And a modern computer is a useful adjunct to help program a retro computer... thanks to powerful programming tools and decades of deep knowledge, the C64 scene has much better and more vibrant games, demos, and software than it did in the 80s!
Oh, and THEC64 doesn't have internet. Cocomelon does not play on it!
https://www.hardkernel.com/shop/odroid-go-advance-black-edit...
I purchased the older ESP32 based model years ago and it was really a good product.
It appeals to the age group and general audience currently playing Roblox. Full functionality can be used for free. Rec Room is essentially a game for building games.
Disclaimer: I’m the lead Circuits dev
> Turn the kit on and you can start programming in less than a minute without any difficult driver installation or software setup. The main component of the kit is our custom WiFi microcontroller board. It can be programmed and controlled by a phone, tablet or laptop. Using our easy-to-use, open-source, browser-based, drag-and-drop coding system.
Here we go with the "when I was a kid" bit... but I felt that computers were something that were just barely within reach when I was in grade school. I really wanted to learn how programs worked. I checked out every book on programming I could find at my elementary school's library. I had my dad take me to the university library where I had a proverbial field day. But neither he nor any other adult was trying - at all - to expose me to programming. It just happened.
I sometimes wonder if this new norm of actively encouraging and exposing kids to every possible creative outlet in life is really just stifling their progress. When everything is presented to you as a buffet of choices, with hopeful parents anxiously awaiting some kind of interest or progress, how does it not all become kind of ... boring? Where is the space to develop longing and desire?
I remember being a kid and longing for access to the university's Ultrix machines. They seemed to be just for adults - and difficult to access - and all of that just made me want it more. I became obsessed about the concept of multitasking and machines serving multiple users at once. I really had no encouragement, and was even reprimanded for gaining unauthorized access to some university machines. This, along with the tied up phone lines, annoyed my parents to no end. They were patient and understanding, but not actively encouraging.
I hope my kids can some day feel a similar passion and longing to learn something. If they can have that, they won't need it to be spoon-fed to them. They'll break down doors to get at it.
* jslogo - https://calormen.com/jslogo/
* Turtle Academy - https://turtleacademy.com/
That's how a lot of us got into computers, I think.
There are games, and paint programs, but many of them seem too directed. Too much intention.
Edit: +1 for LEGO mindstorms, thats how I learned code as a 10 year old. If you haven't read Seymour Papert's book "Mindstorms: Children, Computers, and Powerful Ideas", check it out. You can put a marker on a LEGO bot and have your LOGO turtle in real life.
My kids have done some basic programming in scratch, which I think is a good place to start. I also once set up godot with a simple open source game that they could edit (change sprites and adjust parameters like speed/size etc). They enjoyed that. I think once they want to start doing something more advanced, something like roblox or minecraft modding might be a good place to get their interest. Shadertoy/GLSL might be another fun thing to start with at more a high school level.
Of course, this is all speculation, my son is only 2 years old so let's see how it turns out, but I did start using such a computer at 3 and it was great for me so I'm highly hopeful :)
I will also not allow any mobile gaming, mobile gaming is a wasteland of predatory practices.
Old hardware is fun too. You can build a “top of the line” rig from hardware that’s a few years old and continue to iterate and play with it. Then again, I find things like setting up a ZFS pool to be fun and therapeutic, most kids might not share this sentiment :)
Have you thought about introducing them to something where they could code/create online and could share their work? You might want to take a look at the online free Logo system at:
http://www.logointerpreter.com/
They would be able to click on the works others have published there and they could tweak the code to do other things.
I find LibreOffice to be very buggy when trying to design signs and banners (at least on the Raspberry Pi, some features don't work properly with huge fonts, and the option to print a large banner spread across multiple pages doesn't seem to work properly). Inkscape is okay but is a little too advanced for kids and doesn't come with clip art. There's currently no build of Krita for the Raspberry Pi so I haven't been able to try that.
Another reason are the proverbial rose-colored glasses.
Yet another reason is just curation and sampling issues, since we now have a whole category of shovelware and shovelware-hybrids, the chance you'll actually stumble upon the really good stuff, is just way lower..
Are we ready to pay for curation yet?
I've been mulling how I get my kiddo acclimated to modern computers. I think I will sort of "roll back time" and give him access to old, simple machines and software via emulation, and then roll him forward as he gets older.
The bonus is that he can wreck the software/emulated machine as much as he wants with bad commands. I can rebuild it easily.
Modern kids games on tablets are horrible with the ads. This needs regulation so badly.
In theory Raspberry Pi could be a perfect kid's computer, but the software side still needs help to make it a useable experience for younger ones.
Here's an example of a super simple app that I made trying to solve that problem for a very tiny use case: https://medium.com/@kfarr/part-1-babypi-a-simple-raspberry-p...
Make their allowance have a bonus based on some objective function of their work product or effort in programming or whatever field. At the same time, try to encourage them to use it to explore things that interest them. Such as, creating and releasing games or programs for their friends.
Ask me anything
Games pre-installed (and you can add your own) plus you can boot into BASIC.
Here's another approach https://github.com/jackdoe/programming-for-kids
But honestly today I would give a Raspberry Pico instead, it uses less energy and has more performance but it's still low level!
https://www.commanderx16.com/forum/index.php?/home/
Which might fit what you are looking for.
Install
1. GCompris
2. Gimp, Inkscape
3. Rosegarden
4. https://github.com/commanderx16/x16-emulator/
Don't install a bunch of games.
https://geoffg.net/maximite.html
Which boots into a fast Basic interpreter and has plenty of programmable graphics and sound capabilities.
It felt similar to the Apple II, but modern at the same time, quite a good little "here's your first computer" approach for a kid under 10.
Especially when they've been exposed to iPads and Nintendo Switches.
The reason why many of us Boomers, Gen-xers and old Millennials were fascinated with this stuff is simply cause we didn't have much of anything else. And limitations foster creativity.
Kids today (and I know I sound old as fuck) but they grow up with so many cool toys and so many choices.
It will be hard to foster the creativity in them when there are so many things competing for their attention. Sometimes they find it and sometimes they don't and something else calls for their attention (wanderlust, sports, etc.)
And also, not all kids want to program the games or see how they work underneath the hood, some just want to play the games and that's never changed even back then.
You just gotta pay attention to them and help them foster their talents in whatever direction they choose.
Buy rpi400 (or a similar device with dominantly non-consumptive ecosystem around it) to your kid... and all his friends or a class.
For example, try searching for BASIC, or LOGO. You obviously did not try.
but wait... do you want them to go from that to today's dev environments? ;)
It is a lot easier to make a source code change, rebuild and update.
So I figured I'd address this question if or when I had a kid. I don't have kids. But I'm glad someone asked it the way you asked it; it's very important to me that kids should learn this way, by building things rather than having structures shoveled at them.
Quick side note. My dad banned RPGs in the house. My brother was a huge D&D fan but my dad said it encouraged "follower" mentality to follow a dungeon master's idea of the storyline; and he viewed all videogames with plot elements basically the same way.
OK. So how would I approach it? I'd make a language that took all the basic elements of code (vars, control structures, etc) and made them come to life the way LOGO did. The rewards of doing something cool have to be tangible. When I was 10 or 11, my friends and I had our own code competitions in Hypercard to try to make cool screen savers or little games. We judged each other and ourselves; we'd spend 72 hours and see who made the coolest thing and we'd be honest with each other if someone else's thing was cooler. None of this was "cool" at the time but it was like we had magically tapped into some power that other kids didn't have, and that was what kept us addicted to learning. We learned from each other and from our own mistakes. The two friends I'm thinking of from elementary school are both incredible developers and business owners now; one runs a very bizarre entertainment venue, and the other is a great writer who put out a bunch of games after working at Microsoft and Bungie.
So I believe they'd have the same view on it. Here it is:
1. Concrete results need to happen quickly 2. Introducing abstract concepts (arrays, complex data structures) should be challenging but lead to far greater results 3. Results need to be "pretty". But only in the way that encourages stretching your skills further. For example, if you start a kid in a programming environment where everything is a pristine 3D world, and their job is to program the behavior of an animal, then you've done most of the work for them; their work has to actually stand out and shine. The problem with too many platforms is that they reward the kid too soon. So you made an animal but it isn't really that different from every other kid's animal. The competition between kids is critical... and so is the ability to make something unexpected. LOGO could make unexpected artifacts. Hypercard was wide open, it was just a blank page. Kids' imaginations filled the gaps, and we all wanted to make Spaceship Warlock or Myst or the Journeyman Project from that page.
What I would do? I'd probably be a terrible parent. But my advice would be to get your kid a Commodore 64 or a TRS-80 and show them the manual for BASIC. And tell the kid if you want to play a game, make a game. Then get other kids to compete on it. The sense that you can create something from nothing using these tools is a powerful motivator. Then later they can see the world where it's all "been done" and they'll probably think of something like Wordle which wasn't quite done, because they've learned how to think that way.
Just my 2¢.