[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)