Ask HN: I need ideas to impress fifth graders with technology

473 points by dv35z ↗ HN
Hello! I need some tech “show and tell” ideas for 5th graders.

I've been asked to come to a 5th grade (ages 10-11) at a school with mostly underprivileged kids, from low income, immigrant families. The presenters are encouraged to do a cool "show and tell" about their job, get the kids excited etc. For example, I heard a lawyer set up a fictional courtroom and gave the kids a script to perform. A baker came in and had the kids decorate cupcakes. A FBI agent came in and let the kids try on a bulletproof vest & an FBI windbreaker.

I'm a software engineer, now R&D product manager at a cloud platform software company. Aside from programming, I'm into video games, photography, video editing, drones, and similar techy/creative hobbies.

I'd love to hear what ideas you all might have to totally wow some kids, get them excited about science/tech... And obviously out-wow any firemen, FBI agents, that might be presenting. Give me a fighting chance anyway!!

Thanks!

245 comments

[ 3.1 ms ] story [ 252 ms ] thread
Can you create something interactive and put it on a tablet for them to pass around and play with?
(comment deleted)
Some kind of software controlled drone/robot should do it, since there are 2 parts, software and hardware.
Perhaps using a Raspberry Pi and leveraging CV / NLP off the shelf tools.
Even easier-- go to adafruit and get a circuit playground. Lots of shiny lights LED patterns, easy to program.

Also, perhaps check if their are any makers, robot groups, model rocket groups, drones (look for a meetup) in your area. There may be someone around you. You might find someone with an interesting project to bring to the event.

Something we used for "tech-days" at our university, when 8th to 10th graders came to visit, was a robot following a black line on the floor, built with Lego Minsotrm. A set includes the base unit w/ two engines and some sensors, which should be enough to build a simple robot.

After we explained the algorithm how the robot can follow the line by keeping the line between it's to photo sensors, we let them implement and experiment on their own. The programming GUI is intuitive and works with function blocks that can be customized and linked together.

I have run similar workshops and find that kids this age respond to technology that they can "program" in the broader sense. Setting up a microboard with LED lights that they can change via manipulation of switches or simple programming, and things of that nature. Programming is so abstract, I find kids respond to making it concrete.
You can take a look at what we are building at https://snips.ai to do a 100% on-device and private-by-design Voice AI, it works in english, french, german, japanese, spanish, italian, and more coming

It is 100% free for makers, and it is very easy to build your own voice assistants which work with it. I'm sure that the kids will love it ;)

This would be a cool demo to show, very "wow" factor
Ive done something similar before. Went with a videogame and showed them how it editing the code changed the game. They started requesting silly changes and went from there. Super fun.
I would do something like this too!
I think this is one of the key things -- so many things in technology are just given to you as-is with no way to change them. The realization that all of this is mutable -- that the computer is just going along doing exactly what it was told, and that you can be the one to tell it what to do -- is a real eye-opener for a lot of people (children or not).
> I think this is one of the key things -- so many things in technology are just given to you as-is with no way to change them

This is the main reason RMS went from being a developer to an activist. He was (and is) trying to prevent this from happening.

I once went in with something way too ambitious, but this is a fantastic idea and something I'll try next time!
Yeah, the key is to go with something simple. I used a JS game (Phaser.js demo game) and just ran it in the classroom computer browser. Used up 45 minutes of time that went way too fast.
may I ask which videogame did you use?
Not OP, but I did the same thing.

Javascript Pacman.

I have a first grader who now knows how to edit the javascript file in Atom, increase the number of lives parameter, make edits to the map etc...

We also swapped out the pac man with my face, which is a source of continued amusement, especially the death animation.

Perhaps Minecraft would be the ideal game, assuming the children haven't already played it.
Someone at my company recently showed us blueprints in Unreal engine, and everyone there (mostly web developers) had a blast having them mess with different things. The presenter started with the FPS template I believe, and then we were throwing out ideas of things to do, i.e. create a launch pad that throws the player into the air when they walk over it, etc. You would probably score huge bonus points for relating it to things in Fortnite etc. I would have eaten that stuff up as a kid if someone showed me that stuff.
If they are patient enough to try something one by one, I think a VR headset would be a great idea. If you don't already have one, you could pick up a low-end Oculus for a couple hundred bucks (and sanitize/return it afterwards, hah). Then you could take them "around the world" - there are some really cool travel/exploration apps with 360 shots of different places, and from my experience can quickly and easily provide that "wow" factor to non-techies. Probably because it's so visual.

Besides that, maybe doing a real-time demo of how fast it is to get a simple P2P chat webapp going with some off-the-shelf libs. Or an SMS webapp with Twilio, and then picking another parent maybe in the "crowd" to text live during the demo. Would be a great way to inspire them to try their hand at development, and might push a few over the edge who were already on the fence about giving it a try if they see how accessible the tools are to get started.

Google Teachable Machine is fun for kids of that age. You can for example have the kids train Google to learn what pictures of dabbing are.

https://teachablemachine.withgoogle.com/

Make sure you tell the kids how google (facebook and similar firms) make money by harvesting data (their data).

Teach them about persistent web tracking, clearing cookies, adblocking and the like and to use Firefox rather than chrome.

That is brilliant, I taught mine to say rock/paper/scissors then swapped hands to see how will it did.
Don’t try to impress them. Involve them. Make a banana piano.

https://tinkerlab.com/makey-makey-review/

Huge fan of the Makey Makey. We had a display for young students which was basically a raspberry pi playing Bomberman, where the raspberry pi was hooked up to a Makey Makey, and the controllers were miscellaneous things like potatoes, bananas, door knobs, etc.
How much time do you have?

I did a peanut butter jelly robot - where I had the kids call out how to make a peanut butter and jelly sandwich. They had 10 minutes to write out the instructions. I took each instruction as literally as possible. Then I talked about algorithm design. It took about 30 minutes.

This. The PB&J exercise is really good.

I'd suggest not trying to impress them. It's not a date. They're kids. Try to connect with them. Talk about your job, sure, but more important to share things you're enthusiastic about.

Also, from what you describe of their background, they may think that what you do is inaccessible to them. Try to reach them, especially the girls. And let them ask you questions.

(comment deleted)
http://www.discovere.org/our-activities We perform the 'earthquake', 'wind turbine', and 'roller coaster' activities with children/teenagers at schools in our area. We have 100+ volunteers that take the kits to the schools and help children get interested in STEM.
If you have a scrapped Kinect and a laptop with CUDA capabilities (even 4/5 years old), you can run the KinectFusion and perform live 3D reconstruction
Try the thing where you turn your calculator upside down and it says "HELL".
They are in fifth grade now... "What's a calculator? Oh... you mean a calculator app."
just make sure you lock the screen rotation before your demo then.
58008 (this was funny in middle of nowhere 3rd grade, maybe not today)
boobs are still fucking knee slappers
I've had great fun with a webcam showing the difference between consecutive frames.

Once they understand the idea, you show them the three-line code that does the computation (using opencv for python), and you let them change the math formula in whatever crazy way they want.

headless RaspPi Nano running OpenCV face detection script: Light an LED when the camera detects a face.

Now plug it into a monitor and show the bounding box around each face. They'll love this!

Show them the code. GIve them a really high level overview : "Here we tell it to get a picture from the camera. Next we look for faces. If we find one we tell it send power to the LED to light it up."

Now, another interactive moment:

Plug in a USB keyboard and Ask a student to change the color of the bounding box. Of course they won't know anything about the code. Tell them to find the word "green" (or whatever) and change it to another color name. Run it again.

Little low-risk changes like that is how most of us learned to code. Maybe it will spark interest.

how about lego mindstorm?
I second that, I mean, how do you impress kids ... well with a robot that reacts to their actions and that they can program themselves, I thought about that robot the Anki Cozmo (company just went bankrupt) and is super fun to play with, but hard to code your own stuff, my second thought was to do something fun with an arduino or raspberry pi and maybe those big colorful buzzer buttons (I did a music quiz like that: https://github.com/chrisweb/arduino-nodejs-music-quiz-game ;) ) but I don't think this is suited for kids, it's more something for teenagers, so yeah for ages 10-11 probably mindstorms is the best

But not just mindstorms, maybe LEGO boost is actually better suited: https://www.lego.com/en-us/themes/boost

Everything related to coding and LEGOs can be found here: https://education.lego.com/en-us/coding

I have held many such sessions for kids. Instead of showing them the latest and the greatest:

- I point them to the technology already around them, in their daily use, that they see as too obvious by now. And then share stories of how all that had come about to be. Simple things like soap, door handles, stairs, pencils, clocks, ...

- Ask them simple questions that they never asked. How does an eraser erase pencil marks? How is mass conserved as a tree grows out of a seed? Why do women typically keep long hair while men keep short? Why don't animals do their own photosynthesis instead of depending on plants (or why don't plants also move around like animals)?

- Another session I am planning will share bios of many famous people, showing them how extraordinary came out of the ordinary.

It seems surprising to me that we teach them about planets, exotic natural phenomenon like chemical reactions, magnets, etc., without first talking about much more relevant things like why does matter occupy space (or why don't we just fall through the floor below us). The result is kids (and adults) who commonly talk about voltage without having slighest idea of what it actually is.

Add-on comment: If you do want to talk about some core technology only, I would show them how mechanical switches work, and how you can connect them in series and parallel to do logic. Take some wall switches and break them open to show them what's inside.
> Why do women typically keep long hair while men keep short?

Does technology have an answer for this?

That one is not a technology one indeed. I intermingle some non-tech ones just to show that there are curious simple things everywhere, and that there's more than just tech in their lives.
I don't think you can truly answer that question without it being part lie. For one, we don't necessarily know the real reason, plus there's multiple reasons anyways, especially since it's taken on a life of its own and culture/history is part of it now.
Apparently it is because "They like it that way". Pretty wild if you ask me.
What's more interesting than the answer to that question is the question itself. People live that way, taking it as granted, without ever asking. Merely putting the question before them is illuminating for them. In terms of actually asnwering, I do not have to go beyond what you have said, "it's taken on a life of its own ... part of it now", though I am prepared to dwell more into the history.

Btw, the students find that question a lot more exciting than the others. Perhaps talking about the opposite sex is subconsciously more appealing to them, especially at that age.

> Ask them simple questions that they never asked.

This is key to teachinging about high-tech engineering: don't paint over vast swathes of the stack with "it just works" or "it automatically knows".

Take one specific thing it does, and drill down the pyramid, from high-level ideas about user intents way down through platforms and compilers and operating systems to wires and semiconductors.

There's nothing particularly magical about tech (apart from the fact that it often does what it's supposed to). The awesome part of engineering is all the work put in at all levels to make hugely complex stuff work together.

>> high-level ideas about user intents way down through platforms and compilers and operating systems to wires and semiconductors.

Indeed. I did one like that for software developers, just in the reverse order (starting from charges and voltage all the way up to how a microprocessor executes code). I just wrote about that in this comment here:

https://news.ycombinator.com/item?id=20088868

I recommend the book "NAND to Tetris" to any software developers out there that want to learn bottom-up computer engineering. It's a great read. Following along and doing the exercises with it, along with watching Ben Eaters videos on YouTube, has been of the favourite things I've done in the past few years.

I'm lucky enough that I started my career in software as an EE. As a result, while my CS friends and colleagues can run circles around me when it comes to high-level website/UI/game design, anything C, ASSEMBLY, BASIC or VHDL related they'll come ask me. Knowing what is happening at a physics, to component, to circuit, to system level really makes software "click" compared to the top down way of learning from my experience.

Exactly, start with basic but overlooked concepts.

Give them magnifying glass and ask to watch subpixels while playing with MS Paint color fill.

As 5th grader I learned electricity with some old book from my father's shelf which explained it with hydraulic analogy[1].

[1] https://en.m.wikipedia.org/wiki/Hydraulic_analogy

Exactly! I have delivered a three-hour session going from the meaning of voltage to understanding how a simple microprocessor works, using that analogy! This was intended for software developers and titled, "How does a Processor Execute my Code! And Why?!" I am planning to open it up outside my employer company. Also, am looking for some easy way to make water flow animations to go with it. :-)

Having explained many concepts to my six year old son in an easy to understand way (things that would otherwise be out of reach even for high-schoolers) and in the form of bedtime stories (!), someone suggested me to open those up by writing a children story book. Coming one day ... :-)

Eagerly waiting for "How does a Processor Execute my Code! And Why?!" to come out in the public domain.
Use a typewriter. Show them how technology began with innovations and machines, and how it transformed into the digital era.
I'd grab a couple of Sphero robots (little bluetooth rolling balls) and show them changing colors/moving around the room via code. The apps for them have programming environments.
Put on a "hacking" demo by using chrome debugger / inspect element to modify html. Ask kids who their favorite celebrity / athlete is, pull up their twitter and edit the tweets to say "Joe is so cool!", etc. Load the school's webpage and change the names of teachers. Make it goofy.
I've used in-browser HTML editing in elementary school classrooms to great effect. A great trick is to "hack passwords" by typing in a password (will be represented by dots), then change its "type" attribute from "password" to "text"
Given their financial constraints, demonstrating to them how they could use a Raspberry Pi-level device to create a website or business accessible to people around the world might inspire.

There's an unspoken dogma that without a $1000 phone and pricey Mac, you can't be a creator.

Alternatively, demonstrate a very cheap Youtube or podcast production setup and show them how they could do a channel inexpensively.

Common theme is that the barriers to entry in many digital fields are lower than expected.

I've also had kids amazed with tools like React Native Expo where they can make a "real" app that lives permanently on their phone after the exercise in just a few hours (starting with some boilerplate code that they learn to customize). Walked a group of 10-year-olds through the process and they each came away with a very basic app on their phones that looked unique.

Impressive you managed to get 10 year olds to get along with React Native Expo. React's not known for being super easy to learn.

What framework(s) did you use?

>There's an unspoken dogma that without a $1000 phone and pricey Mac, you can't be a creator.

You just made me realize an interesting cultural shift. I distinctly recall how an old 386 or 486 wasn't good enough to run the cool games anymore. But it was good enough for QBASIC and turbo pascal. So I spent time tinkering on that system.

I could create on my 486, but since it didn't have a math co-processor I could only create a Doom level, I couldn't build them. I spent hours blindly building and checking it over and hoping that when I put it on a floppy and took it to my friend's house that all the doors would work, the elevations were correct, etc. Good times.
Doom did not require a maths co-processor. It ran just fine on my 486SX-33. Perhaps you're thinking of Quake?
No, I never made Quake levels. Mine was an SX-20 and it played ok, but building a level complained about a math co-processor. I tried an emulator once, let it build all night and it still wasn't done.

Salvation came through Wal-Mart of all places and I convinced my mom that this $20(or $40, maybe I was paying half?) chip would just drop in that empty socket and double the speed of our computer. 486DX-40, that was nice...

I volunteer for Black Girls Code, specifically the 9-11 year old age group, and the last thing I did that really blew their minds was build an Obby in Roblox. Almost all of them have watched youtubers go through them. Get one working, modify it, have a kid or two modify it on their own.

https://www.roblox.com/create

To save someone else a search:

obby means "obstacle course"

Nice. I've just started coding roblox with my daughter (8). She plays and watches roblox players on youtube and I noticed you can make your own. So I took the time to start learning how to create a basic level and we did it together. We created a zombie tag with a large playhouse. She loved being able to manipulate the world. And she now has plans to make her own levels and youtube videos.

Edit: found roblox has an education page https://education.roblox.com/

Oh yeah that's a good idea too my niece loves those for some reason.
https://teachablemachine.withgoogle.com is pretty straightforward and accessible for most kids.

Start by training it on different facial expressions or objects in the room, and transition into how ML is changing our lives at scale.