Teaching an 11-Year-Old Web Development
A journey and reminder of how simpler and more complex things have become
“The Olden Times”
My son is 11 years old, but I remember when he was younger, he’d refer to things when dad and mom were young to the “olden times”.
Boy is he right. If you don’t mind, a short walk down memory lane about yours truly.
I remember back in my early teens tinkering with 14,400 baud modems trying to get them to work, using multiple 3.5” hard disks to install Netscape, being enamored and eventually annoyed with the plethora of CDs that America Online kept sending to the house, downloading IDEs like Borland C++ and Visual Studio 6 (for VB6) all to fuel my desire to make “proggies” for America Online.
It’s interesting that the classes I took back in high school were for C++. I’m sure if I dug around I could find my distinguished student award for programming. I was so proud. I believe I was 15/16 years old at the time. It was also around this time I started using Photoshop and making really basic websites. I used to own the photochopper.com domain and would host all the photochops I would make. They were typically mashups and airbrushes of cars.
Oh, one last thing if I didn’t sound like a decrepit old man waxing poetic about the “olden times” already: I used to fawn over every new site that 2Advanced Studios would release. They were Flash sites.
They actually *just* rearchitected their revolutionary 2001 site, complete with animations, sound effects, loading screens for modern browsers. Out w/ Flash, in with Rive and React. Please, go and check it out. It’s nostalgia in a bottle.
2Advanced Studios even has a LinkedIn.
OK, moving on to the “newer times”.
The Next Generation
I taught my oldest son to type back when he was around 4 years old on an old MacBook Pro. He inherited my wife’s Lenovo Yoga laptop when he was around that age. It was definitely not a gaming laptop, but it was just fine for him. I like to think it was around this time it fueled his fire for technology and gaming.
Over the years, he’d want to learn how to program. It really started when he was around 7-8 years old. It was all about creating Roblox games, so we downloaded Roblox Studio.
We bought a CodaKid subscription and pushed him to watch videos and tinker. So, he did.
But it didn’t last long. He considered himself a master.
He was not, but in this process, I found out something about him: he doesn’t want to watch countless videos and do basic tutorials. He wants to jump right in and try. Something doesn’t work? Ask dad or Google. Then try again.
And you know? I respect the hell out of that.
Expecting 8-year-old kids to watch programming videos, typing out the code as if they were mindless zombies just isn’t a recipe for success for that age. And some people just don’t learn best that way.
Aside from Roblox and learning drag and drop programming as well as learning his first programming language (Lua), he loved using Scratch. For those that don’t know what Scratch is, it’s another one of those drag/drop based programming tools. But the cool thing about Scratch is it’s essentially a young programmer’s first foray into open-source technology. And it’s entirely web based.
You can search other projects, “Remix” them (essentially forking it and using it), “Look Inside” (i.e. view source), comment, etc. There’s a stage with various assets, all kinds of programming paradigms (variables, loops, events, sounds, etc.). Honestly, it’s a fantastic tool that tries to keep the actual code writing abstracted so you can get your results quickly.
I look at his journey, and it’s similar to mine. I think the main difference is he actually started programming much earlier to me, though. And that’s exciting.
Where Are We Going?
So where is he jumping into now? Currently he wants to create a website for “unblocked games”. If you’re not familiar with what “unblocked games” are, it’s essentially a mechanism that allows kids to play blocked games while in school. There are a bunch of these sites out there. They accomplish this feat a couple of different ways: by either not being a blacklisted site and/or providing a proxy service by way of a website. Whether you’re a fan of encouraging the creation of this type of site or not is aside the point. The main point is using this opportunity to teach him a plethora of new concepts and tooling.
And what are those topics and tooling?
An IDE/code editor: VSCode
HTML
CSS
JavaScript
Open-source software: GitHub
Version control: Git
Version control tools/services: GitHub, GitHub Desktop
Hosting (web servers, domain names, etc.)
Deployments
UI Design (Canva)
Branching
The fun thing about the above? He already has a baseline for some of these. The syntax he learned in Lua and in Scratch will help with JavaScript. Roblox Studio helps him understand VSCode. Being able to find code and use it (open source via GitHub repositories) he learned with Roblox and Scratch.
He even did deployments with Roblox Studio! The beauty of 1 click publishes.
I’m going to try and chronicle our journey in future posts. Right now, I’m teaching him some reverse engineering tricks using Edge DevTools, the Network tab and just inspecting the source. For example, we were able to ascertain that a site had their game catalog hardcoded without any API calls. That’ll make his site (which is similar) a lot more straightforward to start. In the future we’ll tackle APIs and database calls.
One of my fav things happened last night. I asked him if he wanted to make his first repository public. He exclaimed, “Hell yeah! The site is going to be public, why not the code?”. Made me smile ear to ear.
What it comes down to: we are built on the shoulders of giants. Open source can really supercharge our own creativity. But the most important thing in all of this?
Never stop being curious.
Until next time.