Last week, I had the honor of attending a preschool class to share the topic of software development. In order to explain this subject matter, I decided to prepare a few items and have them paired with a theme. I thought it might be worthwhile to share what I used, as it seemed to work well, and I found it exciting to see young minds interested in the topic. Since this was going to be a short exercise (20 minutes of their time), I wanted everything to be simple with no electronic screens. As a result, I built some quick posters that I could use to illustrate my points, a Beaglebone computer so they could see the internals, and a craft that would connect the topic to something they could apply with their own creativity.
Starting with computers
To talk about software, I felt like it would be best to start with what kids at this age have already witnessed in their homes. Therefore, I first started to talk about computers and how they may typically see these around (laptops, phones). The students immediately shared how they see their parents or others using computers. I then explained how computers are in many different things, but these are common forms we often see them in.
Computers = Hardware + Software
I then wanted to talk about how computers are really enabled with the combination of both hardware and software. When I first mentioned this, some of the kids seemed familiar with the words. When I asked what do they think is different between hardware and software, they all quickly capture the strong word of hard, and how hardware is hard. I then talked about how computers used to be very large machines (larger than their classroom), and how over time they have been getting smaller.
I then asked if they had ever seen a circuit board or chips like this. Several mentioned they had taken apart something and saw that before.
Slight tangent: I feel like the act of taking things apart and discovering their internals at a young age is one of the strongest indicators of an engineer. The blend of curiosity and the desire to understand how something works, is a hunger that doesn’t easily go away over time. It is this internal motivator that continues to drive someone to keep learning and to not be afraid of trying to understand something that initially seems foreign to them.
Anyway, I then wanted share how these smaller chips were built with sand. I thought this slight piece of trivia would be interesting to them, as they are all familiar with sand, and sand is associated to small things (small grains for sand).
Showing the computer
I wanted to show the internals of a small computer, which I used a Beaglebone Black with a USB battery pack. I thought having it powered on, with just its LED lights flickering, was enough of a distraction for them to be curious to look at it, but still have enough focus to be looking at how small it was (and the components on it). I then reminded them that several things within this were made of sand.
I then started to talk about how hardware is hard to change, and therefore we have software which is easier to change. In building software, we have to map to what the machines understand through common instructions.
When bringing up instructions, I then asked if the kids liked to play LEGOs. Of course, all of them did. When I asked if they were familiar with the instructions that came with their LEGO bricks, they all could relate. I then stated how we are building instructions for the computer hardware to understand, which is like the numbered set of instructions they get with their LEGO kits. This allows us to build different things, and the hardware knows how to follow these general instructions.
After briefly introducing the topic of software, I mentioned how a core component of software involves logic. This was a term that they didn’t seem very familiar with. I assumed this was the case, so I wanted to map it to something that was familiar, such as a common story. I then asked if any of them were familiar with If You Give a Mouse a Cookie story. All of them acknowledged, and then immediately started sharing what would happen if you did give the mouse a cookie. I shared how this was similar to logic in software, where if some event occurs, then something can happen as a result.
Solving + Building
After touching on the topics of hardware and software, I then wanted to discuss what software engineers often do. I referenced that many of them when they hear engineers, may think of train engineers (at least I do). I shared how there are many different types of engineers in the world, that work on problems. With software, we are often doing two things: solving and building (note, I realize it doesn’t easily map to simply to just these general categories). For solving, I mentioned how this was similar to solving puzzles. When I asked them if they have worked on puzzles before, they all started sharing the different types of puzzles they have encountered. I shared how a lot of the problems I have faced, are different types of puzzles, which I take similar approaches to solving, but some are harder than others.
I also mentioned that another core activity we do is building. For building, I mapped it back to the topic of LEGOs from earlier (when discussing instructions). With LEGOs, we are able to build different types of things with modular pieces. I asked them if they have ever built a LEGO house before, and then tried to change it later. I mentioned how this is what we often do with software, where we pursue building things that are easy to change later. I then mentioned how this is different from other houses that they might have built before, like gingerbread houses. When we want to change these, they often break apart and are not easy to modify.
Crafts: If-Then-Else Bots
As a final part of the talk, I thought it would be fun to have a craft, which had them build their own robots that were called “If-Then-Else” bots. I explained how they could make their own bots, but then they could come up with their own instructions for the robot for when something occurs. For the robots, the kits included:
- Plastic cups with a holes punched on each side and the top. I also punched a hole and attached a card for them to write their name and for someone to help capture their instructions.
- Pipe cleaners
- Googly eye stickers
- Pom-poms (attach to a pipe cleaner for an antenna)
- Random fun stickers to put on the bots
- Markers to draw on the robots
I was amazed how fast they all started working on their robots, and they wanted to attach their pipe cleaner used for their attennas to the pipe cleaner that was for their arms. This way, when they moved the antenna, they would move the arms. They then started saying:
If you pull on the antenna, then the arms start moving.
It was really fun getting to talk about computers and explaining some of what makes them work to these kids. It’s great to see children with the excitement of building things and wanting to see what makes them work. Kids are great at reminding us how much fun it can be to learn something new, and to not be afraid to share what they think or the questions that they may have. All too often I have seen people later in life hesitant to ask questions or share their initial ideas from the effects of imposter syndrome. When working with younger kids, many of them are not afraid to share their ideas or questions. They also quickly share some really imaginative ideas, some of which may be unrelated to the original topic, but by them just sharing that idea, friends would then start sharing other ideas quickly upon it. It’s a great reminder to avoid limiting our own creative minds. Externalize what we think with others, and practice to become comfortable sharing our ideas without the fear of showing what we don’t know.