[HN Gopher] Ask HN: Second generation of intro to software dev f...
___________________________________________________________________
Ask HN: Second generation of intro to software dev for 3rd graders
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?
Author : xrd
Score : 23 points
Date : 2025-10-20 13:34 UTC (6 days ago)
| gus_massa wrote:
| 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 wrote:
| Unfortunately, I won't have a computer and probably have 15
| minutes max. It's an interesting constraint.
| gus_massa wrote:
| 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 wrote:
| tell them they're making lots of sandwiches and they can work
| together in a line or they can work in parallel
| saulrh wrote:
| 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 wrote:
| 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!
| cactusplant7374 wrote:
| This is too weird. Think about something more hands on and
| practical.
| throw-the-towel wrote:
| 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 wrote:
| Ooh, I love adding some Russian or Spanish somehow...
| alexjplant wrote:
| Shaggy dog story: 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 a TV show 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.
|
| This was a bit of a blow to my fragile ego but in retrospect it
| was an important 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 emphasizing them early would give students a real leg up.
| While considering edge cases and assumptions is clearly important
| for computers it's also crucial to keep in mind how _people_
| understand processes and systems, i.e. when to be explicit and
| when to avoid patronizing those on the other end of your comms.
| HPsquared wrote:
| School can be Kafkaesque at times.
| aeontech wrote:
| > teacher chose my essay specifically to repro onto a
| transparency and place on the overhead as an example of bad
| writing
|
| Oh man, regardless of how "bad" someone's writing is, this is
| terrible terrible teaching. Public shaming in front of peers,
| especially on something subjective like this? Some people
| should not be teachers. I'm sorry you had to go through that.
| dherls wrote:
| 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
| ares623 wrote:
| What about something about prompt engineering?
| maxbond wrote:
| Prompt engineering ages like milk and doesn't hold a child's
| attention. The PB&J demo is evergreen and hilarious.
| alberth wrote:
| Just a callout to Logo.
|
| https://en.wikipedia.org/wiki/Logo_(programming_language)
| PessimalDecimal wrote:
| 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 wrote:
| 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 wrote:
| This is terrific.
|
| Unfortunately, but actually fortunately, I'm not going to
| have a computer when I'm talking to them.
| empressplay wrote:
| 3D WebGL Logo: https://turtlespaces.org
|
| Has a 2D physics engine and can use GLB models, among a bunch
| of other modern features...
| cweagans wrote:
| You might consider some of the pre made stuff at
| https://www.csunplugged.org/en/
| blindriver wrote:
| Scratch is a popular way to teach kids programming. It's very
| basic but easy for kids to understand and many can do very
| complex things with it (someone made a super Mario brothers
| clone).
|
| One of my kids picked up scratch immediately and did that for a
| couple of years for fun and now he's doing python and machine
| learning.
| analog31 wrote:
| Oddly enough, my mom taught computer programming at a community
| college in the early 80s, and she used the PB&J lesson, though
| without physically making one. She also used to remind her
| students: "Computers are stupid. They can only do exactly what
| you tell them to do, not what you want or need them to do." A
| series of children's stories, _Amelia Bedelia_ , uses that theme
| too.
|
| Her first gripe was that the computer didn't recognize the lower
| case "l" for the numeral "1" ad vice versa. Her old Smith-Corona
| typewriter didn't have different keys for those characters, or
| for upper-case "O" and Zero.
| userbinator wrote:
| While entertaining, I think the PB&J demo is more like
| "clickbait" than anything.
|
| My suggestion is to start with digital data and logic circuits;
| how everything a computer does is based on a huge number of
| switches making very simple decisions.
___________________________________________________________________
(page generated 2025-10-26 23:00 UTC)