en es

Responsible education in computing

Posted on 2025-11-09 in Software

My oldest daughter is turning 7 soon, and I have promised her a gift: her first computer. I'm secretly hoping that she will develop an interest in computing similar to my own. Not because I want to reproduce my childhood in her (although, of course, I would like to share some of my hobbies and passions, like any father would), but because I believe it is important to be educated in how computers and software works—this is digital literacy.

Think about how digital our lives are nowadays. Government, banking, shopping, gaming, socializing, work, movies, shows, videos, music, dating—it all happens increasingly online. Digital privacy can be as important as physical privacy, and you should care about it, but that is difficult if you don't understand how these systems work, or what alternatives exist. Then there are online threats like scams, phishing, viruses, trojans, malware, adware, spyware, ransomware, and security vulnerabilities like zero-day exploits and rootkits. There's also identity theft, social engineering, data breaches, and the need for tools like password managers, firewalls, and encryption.

Computers were the future when I was young, but for my kids, they are the present. What will their future look like? My crystal ball is under repair, but I can identify some key technologies likely to shape our societies:

  • AI in its different forms
  • Robotics
  • Cryptocurrencies
  • 3D printing
  • AR & VR
  • Solar/wind power, energy self-reliance

I believe as parents we have to prepare our children for the world they live and will likely live in, not the world we grew up in. That is why I will research, plan and develop responsible ways to expose my kids to these and other technologies. I see computing as the base for everything else, just as learning mathematics is important for so many other disciplines, which is why it's my first step in this journey.

Some personal history

When I was 4 years old (almost 5) I asked the Three Wise Men for a Nintendo NES console, because those videogames looked really cool. However the wise men had other plans for me, and instead brought me my first computer, a ZX Sinclair Spectrum+. I was a bit disappointed at first when I opened my present and it wasn't the game console I'd asked for, but instead a black block with a keyboard of square keys. My disappointment quickly dissolved into ecstasy as soon as my father set it up on the TV, and the first game loaded. I was hooked.

Fidel playing on his ZX Spectrum+

I played every game I could get my hands on. I can still hear the sound of games loading from the cassette player. Some of my favorite games of that era were: Manic Miner, Jet Pac, Sacred Armor of Antiriad, Pipe Mania, Gaunglet, Arkanoid, Chuckie Egg and Thanathos to name a few. It was also a golden age for Spanish videogames, companies such as Opera Soft, Topo Soft and Dinamic made gems that were very popular in Spain and abroad. I remember playing La Abadía del Crimen, Abu Simbel Profanation and Fernando Martín Basket Master among others. These games were challenging, far from the easy dopamine hit of modern mobile or pay-to-win games. They improved my reflexes and concentration, introduced me to the English language and taught me perseverance.

But in the end the videogames were just a gateway, and the real destination that would shape my life was programming. My father has always been a science fiction buff. He'd read so many sci-fi novels that he knew that computers were going to be big in the future. He’d gotten a couple of books for learning BASIC—the programming language supported by the ZX Spectrum (along with assembly, of course)—along with the computer. He was planning on learning himself, but as soon as I saw him typing with the keyboard I got interested, he showed me how to do it and then my curiosity did the rest. I tried copying the sample programs, some of which were many pages long, and it was a revelation seeing that somehow this special text was telling the computer what to do. Then I tried making some modifications, and marveled at how the behavior changed when I tweaked this or that variable. I didn't write any complicated programs (I was only 5-8 years old, mind you), but the seed had been planted.

A few years later, when it was clear that I was into this computer thing for good, my father bought me my first IBM PC: a sensational AMD 286 @12 MHz with 1 MB of RAM, a 5¼-inch floppy disk drive and a 40 MB HDD (at a time when most home computers didn't have an HDD at all!) This opened a whole new world of possibilities. I learned MS-DOS, my first operating system. I learned about AUTOEXEC.BAT and CONFIG.SYS and how to tweak them to scratch those precious KB of available RAM to run my games. I learned to use hex editors to hack saved games for extra money or resources. Eventually I got myself a copy of Borland Turbo C and a C course, and self-taught me C, and later some x86 assembly. My 12-year old mind had to struggle a bit with conditionals, loops and especially pointers, but it all clicked. I could call myself a coder.

With this background I studied Software Engineering at college, and I was the best student in campus. I started using Linux in 1999, then exclusively since 2003. I got a job as a programmer in 2007, right after graduating. And in 2012 I got a great job in Silicon Valley, easily the biggest jump in my career.

Fidel on his PC

I don't want to end this nostalgia trip without reminiscing on some of the many many games that I played with my PC. I'm not going to argue that every game is a piece of art, but I think they are a more positive experience than most adults would credit them for. There is concern nowadays about the harm that screens can do to children, but from my experience the problem isn't the screens themselves, but what you do with them. I've frequently been praised for my good English, which I learned mostly by playing videogames with a dictionary handy. I also learned a lot from games. You easily pick up knowledge and skills when you are a child, and most games offer educational content, brain teasers, or improve reflexes or fine motor skills.

Anyway, here is an inevitably incomplete list of my favorite games from the 1990s:

  • Adventure games taught me puzzle-solving, humor and how to appreciate narratives, scripts and world building. Titles like Monkey Island 1 & 2, LOOM, Indiana Jones and the Fate of Atlantis, Day of the Tentacle, Sam and Max Hit the Road, Legend of Kyrandia 1 & 2, Simon the Sorcerer, Space Quest 1-6, King's Quest 1-6, Discworld, Full Throttle, The Dig and so many others.
  • I was big into RPGs, or Role-Playing Games, because I also played a lot of tabletop RPGs. The Eye of the Beholder series, Dungeon Master 2, Ultima Underworld, Fallout 1 & 2, Anvil of Dawn, Wizardry VII, The Elder Scrolls, Dark Sun...
  • Strategy: Civilization I & II, Colonization, Sim City, Sim City 2000, Sim Ant, Sim Earth, Master of Orion 1 & 2, Master of Magic, Star Control 2, Dune 2, Stronghold, Warcraft, Starcraft, Age of Empires, UFO Enemy Unknown, X-COM Terror from the Deep, Command & Conquer, Theme Park, Theme Hospital, The Settlers, Heroes of Might & Magic, Mad TV...
  • Puzzle: Gobliiins 2 & 3, Lemmings 1 & 2, The Incredible Machine, Chip's Challenge, Blockout, Tetris...
  • Arcade: Pac-Man, Doom 2, Duke Nukem 3D, Golden Axe, Raptor, Tyrian, Arkanoid, Descent 1 & 2, Grand Theft Auto, Pinball Fantasies, Tomb Raider, One Must Fall 2097, Cannon Fodder 1 & 2...
  • Platform: Bubble Bobble, Prince of Persia, Commander Keen, Rick Dangerous 2, Rayman...
  • Racing: Lotus Turbo Challenge, WipeOut, Carmageddon, Destruction Derby, IndyCar Racing, Test Drive...
  • Sports: Advantage Tennis, Skate or Die, Ski or Die, Summer Games, Winter Games, 4D Sports Boxing, NBA Jam, PC Futbol, FIFA 94-98, Sensible Soccer, NBA Live, NHL Hockey...
  • Flight simulators: Microsoft Flight Simulator 4 and 5, F-19 Stealth Fighter, F-15 Strike Eagle II, X-Wing, Tie Fighter, Strike Commander, Privateer 1 & 2, Comanche Maximum Overkill, Secret Weapons of the Luftwaffe...

Looking back, I believe the key was to spend time at the computer. Do that long enough, and you'll end up learning computing.

It's like this quote by Terry Crews:

Go to the gym, don't even work out. Just GO. Because the habit of going to the gym is more important than the work out. Because it doesn't matter what you do. You can have fun - but as long as you're having fun, you continue to do it.

A proper computer

The most important tool to learn computing is, of course, a computer. A proper computer. What do I mean by proper? To put it simply, it's one that gives the user full control:

  • Install a different OS.
  • Install any software you want (as long as it's OS and hardware compatible, of course).
  • Play any media (again, limited by hardware).
  • Program software without restriction, access the hardware in full.

This definition rules out all popular smartphones and tablets, both Android and iOS. Not because of the touchscreens—notice that isn't among the requirements. The point is to be the master of your own domain.

iOS has been closed from the very beginning. Its users trade sovereignty for comfort. You can install the apps that Apple lets you install, and that is it. They are convenient devices with great quality and polished interfaces and user experience—I won't dispute that—but their users are at the mercy of Apple. Programming apps is also restricted, requiring a Mac computer to code and an Apple Developer account ($99/year) if you want to distribute.

Android started as open-source, Linux at its core, but has since been corrupted by Google. Virtually every Android device is now closed due to Google Play Services, a system component with root (i.e., full) access that, while not being part of the base Android operating system, is a required dependency for most Android applications to work. Google also wants to require developers to register.

If you are still not convinced, others have argued better than me for why it is important to have control over our computing devices:

OK, OK, so no smartphones and no tablets. What then? Are "regular" computers safe? Well for the most part yes, although there are also worrying trends that I don't want to get into right now. They remain the bulwark of computing freedom, and it's paramount that they remain that way.

Choices

There are more choices for a computer available nowadays than ever before, so I'll be opinionated here.

As a free-software advocate, I first discarded all closed-source systems. That means no Windows or macOS. I believe it's important for children to learn the principles behind free software and to value not only its ethics but also the practicalities. Using free software puts us in control of our digital lives, and as those lives grow larger, that control becomes more important.

So some of the myriad GNU/Linux distributions will do the trick (more on that later). Thus my first requirement for the hardware is perfect Linux compatibility. This isn't a difficult task these days, though it wasn't so 20 years ago.

For my children, I don't want to give them a laptop. I'd rather have a desktop setup so they don't try to bring the computer everywhere. This will make computer time more purposeful and easier to control.

For desktop computers there is a wide range of options, from full-size towers to mini PCs and keyboard computers. I knew I wanted something small and affordable to begin with, around 200€.

As I researched, the keyboard computer form factor made me nostalgic for my ZX Spectrum+. I instantly fell in love with the Raspberry Pi 400, but I was hoping for a bit more horsepower. I looked for similar alternatives—found the Orange Pi 800, PineTab2, CutiePi, Juno Tab 2 and RaspPad 3—but wasn't sold on any them for different reasons. Then Raspberry Pi announced the Pi 500, which looked great, except it lacked NVMe support. I decided to play the waiting game, and was duly rewarded: the Raspberry Pi 500+ was released recently. It has NVMe, 16 GB of RAM and a mechanical keyboard!

Raspberry Pi 500+ vs. ZX Spectrum+

Next steps

I just got my hands on the Raspberry Pi 500+, and I'm incredibly excited! I'd love to show it to my daughter right away, but I'll wait until her birthday. I'll prepare it to give her the best first experience possible, hoping for the magic to happen.

The Raspberry Pi 500+ comes preinstalled with Raspbian OS, which is a good option, but I need to evaluate it for a 7-year-old’s needs:

  • No root account (for now).
  • No Internet access, and heavily filtered later on.
  • Educational software.
  • Creative software (paint, music, video, printing...)
  • Programming environments.
  • Age-appropriate videogames.

So my next step is to research child-friendly GNU/Linux distributions. I expect requiring Raspberry Pi compatibility will narrow down the search. I don’t think I'll find a distribution that perfectly fits my requirements, but I just want to find a good base setup.

One of my takeaways from all this is that, given how excited as I am about educating children in computing, it might be my calling. I'm sure other parents would like to teach their children responsible computing but might not have the time or resources. I plan on documenting my efforts and create resources to help and guide them—this article is the first step.

Stay tuned for updates!