Links to things I've either bought or tried with Danny or have researched and am planning to buy or do with him in the near future. Focused mainly on teaching him coding and computer literacy but also focused on AI literacy, science, language etc. No particular order to any of these, meant to be bought / tried one at a time definitely not all at once.
All this stuff can be done independently but we can meet up any time in groups or for playdates to pick new projects, fix problems or get unstuck on current projects, share finished projects etc. I'm always down to help them get started on something new or help them if they're blocked. Definitely a work in progress. 🙃
There are a lot of different kinds of ThinkPad. Really anything called a ThinkPad that has 8GB of RAM or more should be fine. This one's my favorite for Danny right now because it has a touch screen and it's small / portable for kids. Used or refurbished is fine, you can usually find something for around $100-$200. New is fine too if you can find a good deal. Make sure it has 8GB of RAM! ⚠️
Probably best for middle or high school. It’s a more powerful, durable laptop with a professional feel. Downsides: heavier, no touchscreen, pricier, and possibly more distracting for kids. But a great long-term investment.
This can be picked up after going through the Scratch, Python, and HTML/CSS/JavaScript basics linked earlier. They're a little pricey, but 100% worth it. Lego provides tons of projects and tutorials that take kids from visual block coding through to Python. Make sure to get the Prime kit! ⚠️
Scratch is a great first visual programming language and set of free tutorials and projects created by MIT to teach kids coding fundamentals. It’s visual block coding which means it looks basically like sticking visual legos together and it focuses on coding animated characters and games which are quick and unintimidating. It’s extremely beginner friendly, kid friendly and fun.
Python is maybe the most popular, most powerful, and beginner-friendly programming language that has ever existed. It’s used literally everywhere — from K–12 classrooms to research labs and machine learning. These are some fun tutorials to start with, but the sky is the limit!
HTML, CSS, and JavaScript are the languages of the internet. JavaScript is the only true programming language among them and it’s known for being beginner-friendly and powerful. Once you learn the basics, you can start building real websites!
Once you’ve learned a bit of HTML, CSS, and JavaScript, you’re ready to start building and publishing real websites. You’ll need a GitHub account to share your code, and Visual Studio Code as your editor.
GitHub lets you save and share code projects online. It’s free, widely used by professionals, and essential for publishing websites and collaborating. You’ll need this later when building web projects or sharing code with others.
Visual Studio Code is a lightweight but powerful source code editor. It's free, works on all platforms, and is ideal for web development, Python, and more. You'll use this to write and edit code locally on your computer.
Not as visually engaging as Scratch, but W3 Schools is a great resource for learning programming languages like Python, JavaScript, HTML, CSS, and more. It’s beginner-friendly and has tons of examples and exercises to help you learn. Probably more of a thing to do with them for short bursts for now but really great resource overall.
These are the best web browsers for coding and web development. Firefox is great for privacy and developer tools, while Chrome is widely used and has excellent support for coding standards. Both are free and available on all platforms. Once they're installed the following should be added as extensions and bookmarks for quick access.
ThinkPads started as paper notebooks given to IBM engineers in the 1920s (?!), and the name stuck around through the legendary ThinkPad laptop line. Amazingly, IBM still makes "Think" merch, and it’s surprisingly affordable.
Also totally optional classic nerd gear but actually pretty useful / fun...
Totally optional, use them like boyscout badges maybe...
At some point I'll post some demo projects (colab notebooks) to play around with and build off of but regardless Google Colab is a fantastic way to play around freely with AI and learn Python. It has a fun pretty intuitive intterface, runs in the browser and is a legitimate tool used by sciences and researchers around the world.
Sonic Pi is a free, open-source music programming environment that lets you create music with code. It’s a great way to learn Ruby, a powerful programming language, while having fun making music. It’s beginner-friendly and has a great community of musicians and coders.
This is a super fun little device that you can program in Python to make your own games. It’s tiny, affordable, and has a great community of kids making and sharing games. It’s a great way to get into programming video games. Also it's super cheap at like $30, geared towards non-addictive games, can be programmed with visual blocks or python just like the lego robotics kit and when they finish a game they can submit it to be featured on the official Thumby website!
These are definitely more expensive than the Thumby and they can take a while to ship, but it's a normal size and is less of a retro novelty. Maybe for when they're older but it's a fun way to expose them to some tougher languages since you would be working with Lua or C which an excellent language for them to get exposed to. There's also a great community of kids and adults making games for this and they can share and submit their games to the official Playdate store.
This is a little more expensive to get into but it’s a super fun project that lets them program a Game Boy game that they can flash onto a real physical gameboy cartridge that you can use with any old Game Boy. They can start using a really frindly free program called GB Studio to get started and make a full range of simple to super complex games, then eventually they can transition to learning assembly language to make more complex games and learn how computers work at a lower level while still keeping things relatively simple and fun.
Pygame is a great next step with Python. It’s a library that lets you build real games that can be run on the web or on real consoles like the Nintendo Switch. It’s a bit more advanced than Scratch, but it’s still beginner-friendly and fun. Once you’ve learned the basics, you can start building and sharing your own games.
This is obviously super old but it's still the best typing game I'm aware of. Unfortunately the link below is to a port / recreation of the game that has to run in the browser but it's stable and seems to work well. All you have to do is run it and enter full screen mode. If it gives you any trouble restarting the page usually gets it.
Linux is a free, open-source operating system that powers most of the internet. You can install it on any ThinkPad or Raspberry Pi. It’s a great way to learn about computers and software development. You can install it on your ThinkPad alongside Windows or as a standalone OS. There are many distributions (distros) to choose from, but Ubuntu is a good beginner-friendly option.
Starting off by setting up a Raspberry Pi as a basic personal computer is a great experience learning about what's inside a computer and how to install a simple operating system like Ubuntu Linux (linked above). After doing that setting up a Pi as a tiny home server is a great follow-up project that you can do with the same computer.
This amazing project walks you through building a version of the first personal computer from scratch. It includes a full YouTube tutorial series, so it can be done independently or in a group. A great challenge for later on!
This kit is even more fundamental, guiding you through building a computer from very basic parts. Like the 6502 kit, it has a complete YouTube video series and is perfect for solo or group learning.
Computers are just logic machines—and logic can be modeled with lots of things, even dominoes! You can build basic logic gate circuits that mimic how computers process information. If you're ambitious, some people even build full calculators out of dominoes! Just be careful... one mistake and it all topples early!
Not portable, but extremely capable. Macs are reliable and well-built, though less ideal for hardware tinkering. Any recent M2, M3, or M4 version should be great for advanced dev, games, video editing, or even AI work.
Like a Speak & Spell but more like an actual computer and with a lot of good math games. When Danny was super little we would just keep Computron out in it's mode where it just shows words and reads them out loud. Seemed like it might have helped him start reading early. Also it has what's called a membrane keyboard meaning you can get food or liquids on it to a reasonable extent without it breaking and keeping it easy to clean. Not quite as entertaining as an ipad but served us well until he was at least 3 or 4. Definitely not for older kids. Also I believe it takes C batteries which I've literally never had to replace somehow.
Obviously more of a science thing than a coding thing but these are great and they're so much cheaper than they used to be. They have an internal chargable battery and they're super light so you can take them on hikes etc. And they can capture and save digital images.
Nothing super special about these but they're great for building mechanical engineering skills and all their paices work interchangeably with the Lego Spike robotics kits. Trying to use the Spike robotics kits to try to power and program these is a great challange too. Any excuse to buy more legos...
Just some kid-friendly computer / sciency shows we watch occaisionally...