Growing the next generation of open source hackers

No readers like this yet.
Favouring open source

Opensource.com

As a parent of three (children aged: 10, 7, and 5), I'm eager to share with my kids the values that attracted me to open source and the hacker ethos: sharing and building great things together, taking control of your environment, and embracing technology as a means of expression, rather than as media to be consumed. In other words:

How can grown-up hackers ensure that we're growing the next generation of open source hackers?

One of the things which I have learned is that you can go too fast. I put my kids in front of Scratch and Sugar at the ages of 8 and 5, and while they had fun changing the numbers on a simple program I put together, and liked drawing their own cars and driving them around the screen, they were really too small to get the concepts of linking functions together to produce more complicated behaviours.

Here are a few of the lessons I've learned as a parent which I think can be adapted to both the ages and interests of your children.

Hackable living space

We have encouraged our boys to decorate their rooms, organize the furniture as they see fit, and generally have thei rown little fiefdoms. This sometimes drives us nuts as parents, and we do regularly help them to tidy up, but their space is theirs.

Also, every kid above the age of 7 can have a real knife that they can use to whittle wood and cut twine.

Preschool engineering

I love toys that allow kids to use their imaginations. It's also great because as an adult I have as much fun as them playing with together! My personal favourite construction toys (purchased roughly by the age at which the kids have the motor skills necessary to play with them) are kaplas, wooden trains, sets from Duplo, sets from Playmobil, Legos, and Meccano cars. Lego and Meccano in particular do a great job of making kits for children of different ages. Another toy tip is to encourage mixing and matching between different toy sets. We have Kapla bridges over Ikea train sets and Lego trucks holding Playmobil characters.

Kaplas are very interesting too. They are very simple wooden blocks cut to very precise ratios; they are three times as wide as they are deep, and five times as long as they are wide. From those simple proportions, and the precision of the cuts for the wood, you can make some very complicated objects indeed, like an Eiffel Tower or Kapla house.

Getting started with electronics

We have an Arduino kit, and my eldest is starting to get to the stage where he understands wiring a circuit, but hasn't yet figured out programming in the Arduino dialect of C.

But even before something like that, arts and crafts activities are excellent training in DIY, and we always have some popsicle sticks or clothes pegs and a glue gun around for "do-it-yourself" gifts.

Then you can leave screw-drivers, pliars, multi-meters, and soldering irons around so that kids can take apart old toys or broken electronics, fix things with simple electrical circuits on their own when something goes wrong, and scavenge parts to be integrated in future projects. Parental guidance recommended with the soldering iron until they get the hang of it!

Teaching kids to hack

I would love to hear about resources for getting kids to programming proficiency! I am aware of Code Academy and Khan Academy for teaching kids code; and Scratch and Sugar, which I mentioned.

Please share your own personal tips on indoctrinating the next generation of free software hackers!

User profile image.
Dave Neary is a member of the Open Source and Standards team at Red Hat, helping make Open Source projects important to Red Hat be successful. Dave has been around the free and open source software world, wearing many different hats, since sending his first patch to the GIMP in 1999.

23 Comments

I'm glad to see your emphasis on hardware, both physical (e.g., Lego, etc.) and electronic (e.g., Arduino). I've long thought that computing (and engineering) requires working from the bottom up. The loss of Erector Sets, Gilbert Chemistry Sets, and Heathkits costs us dearly. Computer Science curricula used to build up from the bottom - hardware, machine language, and operating system internals, program languages and compilation/interpretation, and finally move on to algorithms and applications. Today, we seem to start and end with one or two high level languages, leaving in-depth understanding behind. Glad to see you're starting your kids on a more fundamental path - we're going to need people with that depth of knowledge and skills.

It is SOOOO refreshing to see people write/speak about the 'hacker ethos' as a GOOD thing. Thanks for that!

It's good to get kids to tinker whether it's with electronics or cooking. https://diy.org/ - has some stuff online for kids (including hacking code).

I saw this noticed today and thought you might be interested -
http://techcrunch.com/2013/02/26/zuck-bill-gates-jack-dorsey-code-org-film/ -

Thanks Miles & Carolyn!

another thing I forgot to mention is getting the kids involved in the garden. anything which involves things changing due to your efforts, whether it's gardening, cooking or DIY, is good in my eyes.

Dave.

Encourging the process of building something from everyday products is one of the ideas we've tried to foster in my home, caardboard boxes and duck tape are always on hand. Showing by example is also important. My childern have seen me tinkering with things and coding for work & for fun.

And be sure to turn your kids onto Rube Goldberg! Every year, the MIT Museum sponsors a "chain reaction" (Rube Goldberg write large) - http://web.mit.edu/museum/programs/fat.html - when my kids were younger, their elementary school did as well (they may still).

It took me to my mid-30's to discover that I have a hacker-way of thinking myself, so being very much aware of that I also like my children to charish and develop this gift. Exploring in whatever way is very important. Not only outdoors, joining the scouts, (indeed) having a pocket knife and getting their boots full of water, mud or dung, but also indoors exploring tools, woodwork and home computer. Want to try the old hand drill? See an interesting computer program? Use it! Try it! Find out!

Sharing thoughts, ideas and prototypes like Lego-builds is also important. This way they will notice that sharing brings new possibilities and can speed up development of sunday morning spacecrafts. Besides they learn to negociate over building blocks. Cooperation and having your own part in it is very important.

Basic computer skills are like reading, writing and math. When they want to use the computer they may because nowadays a PC is what paper, pencil and board game was 40 years ago. At school they train basic things, here at home they can go further. The youngest one starts with Gcompris--a great set of programs to learn and explore. The older ones are less easy to stimulate to try more intelligent games than shoot'em up though, but programming languages with pre defined command blocks (like Scratch or on the Lego Mindstorms) can keep them busy for a long time. Because schools are Microsoft-dominated here in the Netherlands, at home they have the opportunity to try the same functionality in a different way using Linux. This makes them more flexible using computer software and less scared to try. And when my 7 year old son wants to be a 'real hacker' I'll let him do the update on the command line (made <em>me</em> a hacker he told me).

Well, I guess they will make it ;-)

I just recently discovered Scratch (put out by MIT's Media Lab), and I'm definitely going to hand it over to my kid later this week to see what she can do with it. She watched the intro video with me and couldn't wait to get started. Not sure if she's quite old enough yet, but it teaches some programming basics.

Also, I learned to use Logo when I was a little kid (just the turtle, not the whole language), and it taught me a ton of the basics about how programs work. It's more like programming a robot than an application.

I also recently learned about a toy called MakeyMakey, also invented by someone at MIT's Media Lab.

If it seems like I'm heavy on the Media Lab, it's because I'm taking this online course from them right now, and it's all about encouraging the hacker/maker mindset in grown ups and children.

The popularity of things like Scratch (and Logo before it) make me wonder if there's a fundamental cognitive difference between a) folks who like to start out by typing (mousing) commands on computers, and watching things happen, then maybe starting to dig under the hood; and b) folks who like to start by taking things apart, then putting things together, and building up to the point where all you see are commands on a screen. (Me, I started by taking watches apart; then it was erector sets, tinker toys, chemistry sets, and Heathkits. Software came a lot later - of course, that was the 60s, the first minicomputers started showing up when I was in high school.)

Yes, I think there is a difference between a) folks who take things apart and b) put things together, and c) people who don't need to take things apart but can appreciate the time, effort and beauty involved. Dr. Linda Silverman has a chart on the differences between auditory-sequential and visual-spatial learners (http://www.gifteddevelopment.com/Visual_Spatial_Learner/vsl.htm) that may help.

Coding can be quite linear, sequential, and exact; there's often not a lot of wiggle room or areas for grayness. For some people, it's a natural fit for them and their brains. For others, it's like running fingers down a chalk board and stifles their divergent/creative thinking. I couldn't see Gary Larson (Far Side), Dav Pilkey (Captain Underpants series), Jim Henson, or Monty Python responding to coding like others do. It's just not in their DNA so to speak. Their creative thinking operates in a different way, yet Jim Henson was constantly tinkering with puppets and had a hacker/ maker mindset.

Carolyn.. good point. Of course that does have implications for folks working on distributed, massively concurrent systems - gotta write code, but have to track (visualize?) LOTS of moving parts and interactions.

Tracking is using visualization skills, though visual spatial skills include many aspects. But if you watched the last series of Master Chef, you may have caught a blind female contestant replicating stunning gourmet dishes with her visual spatial skills. She was absolutely amazing.

In order to combat the expanding threat of cyber terrorism and cybercrime, our education system is ramping up efforts to prepare top students for careers in cyber defense. In particular, the nation's community colleges are offering technology-based programs designed to prepare current students for careers in cyber security.

The National Center for Systems Security and Information Assurance (CSSIA) has been stepping up to the plate since 2005, training students to become the next generation of cyber security specialists. Programs are designed to enable students to use the latest technologies to detect, deter and protect our nation's digital infrastructure. However, according to Dr. John Sands, professor of information technology and co-principal investigator for CSSIA at Moraine Valley Community College, "It takes more to prepare a cyber security specialist than just traditional classroom instruction."

The key to success in preparing students for careers in cyber security is to provide real-world practice through competitions. "We invest many hours in developing competitions that are designed to test cyber security skills in real world scenarios. These competitions enable students from other institutions to compete against each other by detecting, deterring and protecting their network from highly-skilled penetration testers (a.k.a. hackers) hired to attack their computers," said Erich Spengler, director/principal investigator of CSSIA.

More than 300 students are competing in the Collegiate Cyber Defense Competition Midwest state qualifiers throughout February. The winning teams from each state will gather on March 22 and 23 at Moraine Valley Community College in Palos Hills, Ill., for the Midwest Collegiate Cyber Defense Regional Championship Competition (MWCCDC).

An important outcome of this event is job recruitment. Sponsoring businesses come to observe, interview and offer jobs on-site to students during the competition.

Sponsors play an important role in the MWCCDC. Without support, these competitions would not be possible. Whether through monetary donations, expertise, hardware, software or other in-kind contributions, our business sponsors enable us to attract the best and brightest to the field of cyber security. Our sponsors understand the value of these programs in attracting and developing highly-skilled individuals to this career field. DELL SecureWorks has sponsored the event for the past seven years.

All students who compete have their resumes ready and are prepared to interview at the event. Sponsoring businesses are invited to set up a recruiting table on Friday, March 22, at 7 p.m., to observe potential employees in action. At 9 p.m., sponsors will have an opportunity to discuss career options during CSSIA's Industry Fair.

I think we should invest in gifted kids like Taylor Wilson and schools like Davidson Academy (http://sciradioactive.com/Taylors_Nuke_Site/About_Me.html; http://www.davidsonacademy.unr.edu/Articles.aspx?ArticleID=197). Davidson Academy is the ONLY school in the US that caters to profoundly gifted kids and it's in Reno, NV. These are often (not always though) the next Bill Gates or Mark Zuckerbergs. Still, even for highly gifted kids, there is no federal mandate to accommodate them.

When we don't invest in gifted kids, they often underachieve and become disillusioned with school and society. The repercussions can be cybercrime.

Carolyn.. it gets worse. When we don't invest in gifted kids, they're probably the ones most likely to become "successful" (cyber)criminals. (At least that's my recollection from my youth - the real troublemakers where the kids who were smart, and disillusioned.)

Totally agree with that one. They're Artemis Fowls in the making. I used to teach those troublemakers who were poor, disillusioned but quite bright. They're criminals in the making and it frustrates me when we neglect them in our public schools instead of using their potential hacking skills to benefit them and society.

Another great maker tool is littleBits, which allows you to build whatever you want around electrical components that stick together with magnets. Lots of open source plans, pieces you can buy one at a time, and a community to share with. My older son (almost 12) loves them, and has suggested pieces that they should make.

I'd also recommend <a href="http://www.stagecast.com/" target="_blank">Stagecast Creator</a>. While appearing to be a very simplistic program, it's really a quite sophisticated IDE for a Java back end engine. I've had kids as young as 1st graders use the program successfully and yet I've written some very high level programs.

I also think it's important for kids to learn Javascript and HTML5, particularly the animation features, which, I'm sure, will become much more sophisticated as the technology matures.

As an IT Administrator I can tell you it is getting very old constantly updating local computer based software programs. With Google leading the way with web based applications, there is a very bright future in web programming.

Of course you just can't beat the problem solving and discipline skills that are inherent in programming. But the best aspect is the immediate feedback programming gives you. No waiting for the test to be graded and returned, you know immediately whether you were successful or failed; another interesting feature - learning by failing.

I really enjoyed your article Dave,

I'm not a parent myself yet but I really enjoy computing and I try to make my 2 nephews enjoy it as much as I do and sometimes it's hard to make them sit with me for even 5 minutes hahaha they like to run around.. that's what kids do... so I introduced them to gardening and you can't possibly imagine how happy they are with a shovel in their hands and picking their own food from the ground...

then when they get tired i get them inside for some fun with LEDs and my raspberry Pi.

other than that I find myself enjoying the lessons on codeacademy. great way to learn for the kids... small goals are sometimes more rewarding for them because they get to see results faster than coming across big problems:)

keep up these nice articles ill be waiting for the next ones

With my eldest (8) I've been writing a simple game using GameQuery. He does the ideas and all the artwork. I've been doing the programming while he looks over my shoulder, especially during debugging. He likes to throw in random ideas as to why things are wrong. Going well I think, we're going to present it to his class at school when I talk about open source as a version of community worker.

wow that's very nice. superb idea

The Mozilla Tools: Thimble, Hackasaurus and Popcorn Maker are all great ways to get kids hacking.

https://webmaker.org/en-US/

Also the Mozilla Rep community (volunteers) are in the early stages of a project called 'Generation Open' for kids + youth on http://genopen.org . We're establishing a framework we hope can encourage literacies of working in the open, contributing to open communities (among others) . Would love to hear your thoughts on what we're doing so far , as well as those interested in participating.

Thanks

You can buy a cheap Raspberry Pi minicomputer (or a netbook), and install "Games Pit" (https://github.com/alfem/gamespit/wiki)

It is a simple game environment to play with, experiment, change configurations, and edit code (Python).

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.