What I want to buy for kids and myself

You know, I buy nieces and nephews electronics and it goes straight onto a shelf and gathers dust.
It is pretty much pointless to send a kid a computer with nothing but an operating system on it. Of course there’s always the usual crowd chiming in “Oh, you haven’t tried Edubuntu!”. Uh, yes I have. What I found was a lot of linux programs billed as “educational” that are nothing more than quizzes. This assumes that you already know all the answers and are merely trying to bring yourself up to speed.
Before I go off on the endless frustrations of linux systems, let me just talk about what I myself would personally like to do;
First look at the now defunct CHIP computer and PocketCHIP:

This was billed as the $49 computer. They put it on GoFundMe asking for a modest startup capital and there was overwhelming demand! They took all kinds of orders, then supposedly got shafted by Chinese customs and that was the end of the company. :frowning:
I managed to get ahold of one and this was a great little starter computer! It has IO ports so you could do pretty much anything one could do with an Arduino. What I really wanted to do though was buy the kit, assemble the whole thing from scratch on a breadboard, and flash my own operating system.

Now when I say “my own OS”:
Nick Blundell has a fabulous incomplete tutorial on lower level programming.

He demonstrates how to write assembly code at the boot sector level and write a kernel. Then says the next lessons will cover writing a keyboard driver and file manager. The remaining tutorials that fill in the blanks to making an actual usable OS were never made. Nick has wandered off to start a different tutorial series and that’s the end of that. Now there has sprung up an entire community of OS Devs that try to pick up where Nick’s tutorials leave off. But it’s like the blind leading the blind and everybody wants to do something entirely different, so it’s all basically a complicated mess.

Back to the concept of building one’s own hardware entirely from scratch:
I followed Ben Eater’s very comprehensive YouTube tutorial for building a breadboard computer.
(sorry, I can only put 2 links per post. Look it up)
He shows how to make rudimentary AND gates, OR gates, latches, etc. etc. gets all the way up to printing some text on an LED screen. End of tutorial. Now he’s off doing something different.
What I would like to see next is: “OK, now that you know all about how the parts of a computer function, let’s build a very simple computer” (like the CHIP computer) and write some simple binary programs to run on it."

So now let’s say I’ve gotten to the point of building my own 8 bit computer, writing a rudimentary OS, and writing a few simple programs in assembly. Now it becomes tedious to write everything in binary. I can see the value of having a higher level programming language.
From what I understand, practically every college Computer Science course involves writing your own programming language. But I can find no comprehensive tutorials online for how to do it!

OK, I want to;
Build my own simple computer from components.
Write my own OS.
Write programs to run on it

and quite possibly get my nieces and nephews interested in the same things.

After spending a good deal of time teaching kids computer programming at Khan Academy, I can see what kids want is fairly obvious;
They want to play games.
They want to play games with their friends online and socialize.
They want to make games.
They want to promote their games to others and get recognition for their achievements.

Believe it or not, kids actually do love to learn. However you’re not going get them to sit through a lesson on COS and SIN. But when they need to figure out how to make their rocket go in circles, they’ll learn it in a heartbeat. At least that’s the fastest way I ever learned anything.

So what I would like to see is an inexpensive starter computer like the PocketCHIP that you can hand to a kid and they can immediately access an online network that is purely educational. No porn. No advertisements. Just supportive community. Along with that comes a breadboard and electronics parts for your first lesson.
On Khan Academy, kids just love accumulating points. Instead of earning hollow trophies like digital stars, imagine if they could earn laptop parts. The more they learn, the closer they get to having their own laptop :wink:
First you build some basic circuits, then some Arduino type projects involving IO ports, then you build your own logic circuits, then you build your own CHIP type computer, add an LED screen, write simple 8 bit assembly programs, write the OS, make your own compiler, write games, upgrade from B&W LED to color, etc… Once you have all the parts for your laptop, you can hand the kernel over to 16 bit, now you have earned a new graphics card. Make your computer’s beeper play Mary Had A Little Lamb. Now you have earned a sound card. Every upgrade unlocks higher quality games to play.
What I would like to see is the world’s first completely video documented computer. Every application, game and hardware comes with video documentation on how to make it yourself. If you have any questions, just ask on the forum and any kid that answers enough questions helpfully can earn a glasses free 3D touchscreen :wink:

So the Raspberry Pi is to advanced to go forward and too advanced to go back.

All for the kids and the kids for you. ??

There’s a fantastic game called Turing Complete, which does a part of what you want. Specifically, it walks the user through increasingly complex circuit design, from NAND gates up to a rudimentary programmable CPU.

I love the idea of kids earning hardware through proven learning, but it’s a large undertaking. There are some hard problems in designing such a project…

  • How to you respond to kids inevitably looking up the answers to progress? Do you try to audit their honesty? Just hand over the hardware and give them the credit? Leave it to an adult presence local to them?

  • How do you fund the whole thing? Grants may help it get going, but eventually you have to get parents/grandparents to pay into it, and maybe it settles into a mix of full-price subscribers, and subsidized scholarship subscribers. The economic model will constrain what existing educational resources you can use with it, and also where you can offer it.

  • But what happens to money paid for lessons not completed, and hardware not earned?

It’s a lot of work to get something like this going, and then it’s vulnerable to the fast-changing landscape. But yeah, it could be pretty great.

need some kind of unique verifiable code for each ‘lesson’ thats specific to the child.