Skip to content(if available)orjump to list(if available)

Ask HN: Second generation of intro to software dev for 3rd graders

Ask HN: Second generation of intro to software dev for 3rd graders

19 comments

·October 20, 2025

I posted this last year asking for help in creating an introduction to software development for 3rd graders:

  "Next week I'm going into my daughter's classroom to teach about software engineering. I want to teach them about the magic of it."
https://news.ycombinator.com/item?id=42056775

The best suggestion was

  "I think about the PB&J demo a lot."
It was a big hit! I took a lot of the suggestions and had so much fun. I'm going to do it again for my 4th and 5th graders classes and could use some help in improving it.

A few highlights from last year:

  * I brought a serrated knife and ketchup packets. When they said put the jelly on the bread with the knife, I gripped the serrated end and pretended my fingers bled (ketchup works great as blood). 
  * I brought in vaseline AKA petroleum jelly. When they said put jelly on the bread, I contemplated aloud "Well, you said JELLY, and this says JELLY!"
I offered to give the sandwich to one lucky kid afterward, but surprisingly, no one took me up on the opportunity to eat a sandwich with peanut butter, vaseline and ketchup. Kids these days are so spoiled, 6-7!

This year I want to do it again. But, I want to add some ideas:

  * importance of teamwork: I think this differentiates good software teams from bad teams.
  * importance of good communication: I was thinking about teaching them about how important communication and planning is. Last year I had slips of paper where I asked a different scribe to write down the instructions, and then I took those, reordered them with class input and then took action. But, perhaps I can expand on that and really drill into them the value of planning and good written communication.
  * managers: I was thinking about talking about how the managers are often the best paid, because they take responsibility for all the moving pieces, and the success or failure of the project.  I expect this might be a controversial take here on HN!
Any suggestions?

dherls

I think the sandwich demo is really good. Once you establish the sandwich idea you can start zooming out to OK now you have a cook making multiple sandwiches, now you have a whole kitchen, and use that to talk about levels of abstraction and how SWEs go from solving one specific problem to more general problems by reusing techniques

alberth

empressplay

3D WebGL Logo: https://turtlespaces.org

Has a 2D physics engine and can use GLB models, among a bunch of other modern features...

PessimalDecimal

I don't know why but my elementary school taught my grade of kindergarteners specifically to program using Logo. The class before and after me didn't seem to get this. Some Apple IIe machines that would've quite old by that point and a big room full of kids pair programming Logo. Great memories! And I'm pretty sure this planted the seed that led to my career in software.

My oldest is now in kindergarten and I am going to use Logo to help her learn. I started by buying an Etch-a-sketch that we use together for a real-world point of contact with the idea.

exasperaited

You may find yourself quite surprised, as an adult, by what Logo actually is.

I was never taught much of it, but Logo is massively more sophisticated than most primary education ever gets into -— it's really a multi-paradigm language with quite an elegant loose functional programming style hidden in it.

There's a good article about it here with some links:

https://blog.codinghorror.com/modern-logo/

Also don't ignore Scratch: if you can teach familiarity in Scratch you are going to set your daughter up really well for all sorts of stuff. Scratch is really Logo's spiritual successor and it's a thing of beauty, IMO.

xrd

This is terrific.

Unfortunately, but actually fortunately, I'm not going to have a computer when I'm talking to them.

saulrh

I think one obvious approach would be to assign "roles" - one person is "operations" and is the only one allowed to read the instructions to you, one person is "research" and has access to the list of ingredients, etc. But that probably bottlenecks things too hard and you have to figure out a fast way to assign roles. You could just increase the difficulty by requiring more precise instructions? Ah, you split the list of instructions into four parts and put one list in each corner of the classroom, then randomly sort people into the corners - one corner has ingredients, one corner has operations, one corner has conditionals, one corner has goals, and the class has to communicate to build valid instructions. Maybe give the ingredients tongue-twister names and make them devise ways to communicate without getting things confused. And obviously the end of the demo is "so why didn't any of you just take a list of ingredients and walk over to the list of operations so you didn't have to shout?".

xrd

This is great. I love it.

I wonder if I could constrain the things they could do to their "instruction set." If they don't do that, I can yell ERROR, SEGFAULT!

throw-the-towel

Sorry for the digression, but there was an old Soviet children's book about programming called "Encyclopedia of Professor Fortran" that almost had your jelly example -- except that in the book it was peeling potatoes instead of spreading jelly.

xrd

Ooh, I love adding some Russian or Spanish somehow...

gus_massa

I'd take a different approach. Just make a simple game in html and edit it in front of them to add features, change the size of the monster, ... Wait a minute, it's 2025, probably use Kotlin or React to show the game in a tablet.

xrd

Unfortunately, I won't have a computer and probably have 15 minutes max. It's an interesting constraint.

gus_massa

15 minutes, that's hard. I have to resort to the equivalent of https://xkcd.com/722/ :)

My older daughter works in a software company to make a program to administer collections of videos, lots of videos. In particular a small part is a feature to upload some videos to YouTube using the API. A few years ago, when we told that to my younger daughter, she understood that her sister worked in YouTube. The younger one was extremely happy and and full of admiration. Even if my older daughter gets a Nobel price, she will not reach the same level in the appreciation scale.

I'm not sure how to apply this to your talk, specially because they are older children, but ensure to explain that some guys/gals like you make YouTube work.

w10-1

tell them they're making lots of sandwiches and they can work together in a line or they can work in parallel

ares623

What about something about prompt engineering?

alexjplant

When I was 9 my teacher assigned us homework that entailed writing an instructional essay on how to make the infamous PB&J sandwich. At the time I was a budding "programmer" and had recently seen a skit on Zoom that employed hijinks similar to

> * I brought a serrated knife and ketchup packets. When they said put the jelly on the bread with the knife, I gripped the serrated end and pretended my fingers bled (ketchup works great as blood). > * I brought in vaseline AKA petroleum jelly. When they said put jelly on the bread, I contemplated aloud "Well, you said JELLY, and this says JELLY!"

...and so went into great prescriptive detail about exactly how I'd make said sandwich. After turning it in my teacher chose my essay specifically to repro onto a transparency and place on the overhead as an example of bad writing. Apparently being explicit about choice of ingredients, removing things from packaging, holding the bread, etc. was antithetical to the assignment and dismissed with laughter and eye rolls because "everybody knows" to do these things.

I was an overly sensitive and studious kid so this was a serious blow to my ego and feelings. In retrospect it was an abject lesson in several concepts that you touch on later in your post such as good communication (the importance of considering one's audience), asking clarifying questions (because requirements are hard), and interactions with authority figures.

I say all of this to say that you should absolutely emphasize this less technical side of things. Soft skills are at least as important as technical aptitude when it comes to career mobility and teaching them explicitly up front is much easier than subjecting students to trial by fire.

HPsquared

School can be Kafkaesque at times.

cactusplant7374

This is too weird. Think about something more hands on and practical.