When our oldest was 12, he took apart an old lap top. He then began researching what each component did. From there he saw a project on diy.org where someone had built their own computer. This intrigued him. He began watching the Newegg TV you tube channel and reading the Kitchen Table Computers site. He was given another old lap top, in which he began experimenting with Ubuntu on. As his knowledge of computers grew, he would pretend to be building a computer for different individuals - a granny, a gamer, a small business owner, a school student, a photographer, etc. and add components he thought would fit their needs best to a shopping cart seeing how much an individualized build would cost. He would show us his various builds and one day I responded with, “If you were building a PC for yourself, show me what components you would select.” For his 13th birthday we surprised him with a box containing those components that he had hand selected. All he had to do, was figure out how to build the computer that he designed.
Now that he had his own computer, he utilized books such as Web Design for Teens and Computer Programming for Teens. He completed all of the tech skills on diy.org. He did a ton of computer related reading. He worked through Teencoder Java Programming from Homeschool Programming. He also discovered Minecraft.
He didn’t enjoy playing Minecraft as much as exploring how he could use code to customize Minecraft. He began creating mods. We bought him Youth Digital’s Minecraft Mods course, which ended up being a total flop. He did not want cut and paste programming. He wanted to learn how to hand code mods, which he succeeded at doing.
He also began running a Minecraft server. At first he started with Beastnode, but shortly after he wanted more control and ability to customize his server so he switched to Digital Ocean. He would receive his allowance via pay pal and was in charge of his server bills. He used WordPress to create a website for his server. He ran a very popular Minecraft server for about a year, before deciding to shut it down and use the time for more advanced projects.
He opened a GitHub edu account, explored multiple operating systems, researched optimizations to improve performance, and began contributing to open source code. He experimented with Raspberry PI and Arduino. He devoured Codeschool, Udemy, Ryan’s Technology tutorials, NodeSchool, and other online lessons. He began hand coding websites for increased ability to customize.
He then discovered Internet Relay Channels and switched to a professional GitHub account. He learned SSHing, PuTTY, Cent OS, Debian Linux, SSL certificates, HTTP/HTTPS, Object Oriented Programming, IntelliJ, Oracle, and Arch Linux. He’s written over 1200 Java projects in those 2.5 years.
We supported his interest during this time through upgrading our internet connection, paying for web hosting for a blog and portfolio, adding a second monitor to his computer, buying him a better computer chair, purchasing software that allows him to run Windows programs on a Mac, and most importantly providing the time and space for him to pursue his interest in coding. We have a tech friend who kindly gave him an old server to tinker with.
He now has self taught himself over a dozen computer languages. He has built and repaired multiple computers. He continues to absorb tech related information. He has a networked with professionals in the field. He’s worked on API’s and Apps.
I share his story to encourage you to help your child loctate possible resources, mentors, and inspiration from those who are more advanced than they are in their areas of interest, then let them run with it. If neither of you know where to start, ask someone in their field of interest to help brainstorm field specific resources for networking and stretching skills. Kids will self-educate in their area of interest when provided the time and resources to do so.