I’m thinking of starting a local group for kids (8-12 yo) to learn programming using Scratch.

Do you have any pointers that I might consider?

For reference, I’m a senior developer and architect, the programming part will probably be the easiest of it all.

  • the_rhyme_minister@lemmy.world
    link
    fedilink
    arrow-up
    29
    ·
    edit-2
    11 个月前

    I actually did this for about 5 years (5 years ago), specifically making games in Scratch. I’m wary about sharing too much personal information in a comment thread so feel free to message me if you’d like to discuss further, I’d be happy to share context that might be relevant.

    Here’s a few key things I learned.

    • Get them to interaction as soon as possible. It’s better to start with a template game that is “playable” but has room for modification e.g. movement speed
    • Age is little indicator of aptitude, I saw 5 year olds speed past kids twice their age
    • Set expectations for what can be done: in scratch; in the time you have; by a single kid. They don’t necessarily know they won’t be able to make a massive 3D open world game
    • Few kids I saw were excited by programming in and of itself but plenty took to it as a means to an end. They might be way more into making a cool animation and they’ll learn how to programme an animation. You have to figure out what they want to do and then show them how to do it by programming
    • Not specific to programming but kids have lives and you have to be prepared to deal with that. They will not all come to you ready to learn, they might be dealing with any number of other things, and they won’t leave you unaffected. This can be as difficult as it is rewarding but it’s ultimately why I left working with kids. I don’t want to scare you off but I saw a lot of adults completely unprepared to be in a child’s life and you very well could be. I’d even go so far as to recommend seeing if you could get someone involved who works with children professionally. I have a lot more on this specifically but down want to pour too much cold water on you.

    Edit: I forgot to add, I did this for a living, not a volunteer

    • Rikudou_Sage@lemmings.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      11 个月前

      Saved your comment for later reference. As for your concerns, I think I’m quite ready for that (if circumstances allow) and I’m quite sure I can manage being in a child’s life. As for getting someone who works with children involved, I’m planning on that for the first 3 to 5 lessons to get some pointers. Feel free to pour more cold water if you want, this is definitely also what I’m interested in.

      • the_rhyme_minister@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        11 个月前

        Firstly apologies; I wrote my previous comment in a rush - on my phone - while at work. I haven’t thought about this time in my life for a while and I think I was just over excited to share my experience. I shouldn’t have gone in with the warnings without knowing you or your experiences. I think want you’re wanting to do is brilliant and I truly wish you the best of luck. Your desire to do something off your own back is honestly half the battle and puts you in good standing to succeed.

        I will provide some context for why I leapt to concerns because I think it’s important to assuage any fears I might’ve created. I’d appreciate if you could let me know once you’ve read this comment (or saved it elsewhere if you find it useful) because I’ll likely want to delete it afterwards.

        I spent the last two years of my time at this company working exclusively in schools and organisations for vulnerable and neuroatypical children, who were no longer attending regular schools. The particular challenges of working with these children are likely not something you’ll face, at least not so acutely, and were the reason why I ultimately couldn’t continue to do the job. At the time I simply wasn’t strong enough to be there for kids that really needed me to be. For most children simply being there is enough, these particular children needed more than I could offer.

        On reflection I think the only really important and universal message I’d want to stress on this side of things is don’t force them. You might have an idea of how it will go, or what you want them to produce, or even the parts of your sessions that you think will be interesting and fun and they will have other ideas. You have to find the bits they care about, or engage with or are capable of and run with that. This is a skill to learn, both spotting what they respond to and being able to improvise around it. You’re still trying teach them something and you have a destination in mind but with something like this that is extra-curricular, you have to flexible about the route you take to get there, and comfortable with idea that you might not reach it, but you can still take them on a journey.

        The satisfaction of a child wanting to show you something they’ve made, that you’ve taught them how to do, is unmatched. At least I haven’t found a feeling equal to it since.

        A few more, less philosophical tips;

        • An fun and easy way to get some valuable intel on the kids is to have them fill out a printout on day one. I used to use a template I’d created, loosely based on Top Trumps with fields for preferred name, drawing of yourself as a superhero, what super power you would have, what would be your super weakness, and then score yourself out of 5 in a few diverse categories like creativity, friendship, kindness, quick thinking, burping. This gives you an opportunity to identify strengths and weaknesses and a handy way to remember names!
        • Kids like big numbers; if you’re going to have a number variable, like a score in a game, make it massive, ten thousand points not ten
        • Be wary of violence if you’re doing games, parents are not all comfortable with it, however crude or cartoony. Make innocuous subs, like water balloons instead of bombs, slingshots instead of guns. Kids will try to get away with it if you give them free-reign of design but make house rules like, “No guns because guns are in loads of games and it’s boring, we’re trying to do something new!” or “Minecraft is the best selling game ever and there’s no guns in that” If you do do weapons make them historic like swords and bows, generally if it’s in minecraft it’s ok
        • If all else fails, toilet humour is always a winner. One of the most successful projects I ever had was a kid who made a fart counter, just a button that incremented a variable and readout at that said “x farts today”, I left it on a laptop at the front and the kids would come up and click it when they farted

        Lastly, if you want any ongoing advice feel free to come back to me here or I can give you my email address, or if you happen to be London or Cambridge (UK) based, I’d be more than happy to meet up for a coffee. I could also dig try and dig out some of my old Scratch template games and prinouts if you like although no promises I know where that stuff is. Really best of luck with this endeavour, I’m sure you’ll have an absolute blast.

        • Rikudou_Sage@lemmings.worldOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          11 个月前

          Thank you for your message and your concerns!

          I’m sorry for your experiences, it must have been rough.

          Thank you for the advice and if you’re cool with sharing your email, I’ll be happy to ask you for more information when the time comes! I’m not UK based but I’m planning to visit London next year or so, so we might go grab some coffee then!

  • doublejay1999@lemmy.world
    link
    fedilink
    arrow-up
    20
    ·
    edit-2
    11 个月前

    The whole scratch thing is extremely well put together and is easy to teach. Small chunks, fast results, forgiving environment. It gets kids thinking programmatically without even trying and for those that take to it, it is trivial to say “here are some code words, write this in code”

    The only challenges are differences in ability which in a mixed class of 8-12 yo might be significant, so it would work best if you segment them into those that grasp it quickly and those that take a little longer (not necessarily age)

    The hard bit with teaching kids anything in keeping them tuned in, and a segment approach can help.

  • Redo11@szmer.info
    link
    fedilink
    arrow-up
    12
    ·
    11 个月前

    Get some robots. Big marketing thing and another point of fun and learning. And the results are visible IRL.

      • Redo11@szmer.info
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 个月前

        In Poland there are quite popular Proton bots. You probably can find them across Europe.

    • orrefailaT@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      11 个月前

      Makey Makey is another fun bit of hardware for kids. Works great with scratch too, have them make their own scratch game then use makey makey to build their own controller

  • Kimusan@feddit.dk
    link
    fedilink
    arrow-up
    9
    ·
    11 个月前

    Scratch is great but make sure to let them know that they can see the actual code that runs underneath the drag-drop UI.

    I can also recommend hourofcode.com where there are a ton of good tutorials ranging from scratch-level coding in a game setup (e.g. minecraft) to actual coding in python.

  • balls_expert@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    5
    ·
    11 个月前

    There’s a minecraft mod called ComputerCraft Edu which is lovely and works on older versions of Minecraft if you’re willing to set that up!

    When they “get” it, it also has Lua in addition the the graphical scratch nodes

  • fsxylo@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    11 个月前

    When I was a kid Lego mindstorm was the shit but I don’t know if Lego even sells that anymore. But my advice is find some robot kit with a building block scripting language.

    Alternatively download unreal engine 4, learn how to use blueprints and show them how to make simple games, as that is another “building block” scripting language.

    Edit: oh, not “from scratch”, “using Scratch” haha oops. My bad.

    • Rikudou_Sage@lemmings.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 个月前

      No problem! I’d actually love to teach them using Mindstorms or something like that, but damn that’s expensive. Especially because I’d need to buy more than one.

  • eeleech@lemm.ee
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    11 个月前

    I genuinely don’t know if scratch is the right choice or a simple text based language would be better, especially for the older kids. Just from my personal experience, I started programming in BASIC at 12 and don’t think I would have had as much fun and continued programming if i had used scratch instead.

    • Redo11@szmer.info
      link
      fedilink
      arrow-up
      5
      ·
      11 个月前

      Well yea, I was 9 when I started programming in Batch, but it is not really suited for every kid. Most kids aren’t nerds. Some may have problem reading and formatting code correctly, let alone understanding anything not seen before. Scratch mostly takes care of that.

    • Rikudou_Sage@lemmings.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      11 个月前

      It’s meant for absolute beginners and while there are quite a few talented people, you can’t really expect 12yo kids in general to understand and, more importantly, enjoy writing BASIC.

      • mo_ztt ✅@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 个月前

        I would use python instead of BASIC, if it was me. I also started with BASIC as a kid, but I remember each step up language wise (BASIC -> Pascal -> C) being a big satisfaction of “hey, it seems like this language is a lot better and I can do more with it.” I would echo the recommendation to use actual code though. Language is pretty deeply hard-wired into human beings, and I suspect that the kids that will do well with breaking tasks down into scratch primitives would do equally well with python, and the kids who find python “too hard” or something would also not be able to do too much with scratch. Maybe I am wrong, but that’s my guess.

        My only other thought is to have some kind of graphical / game you can play / real world robotics angle to it. Maybe there’s a little graphical ecosystem pre-provided, and they can write agents that can interact within the ecosystem and then see a visual representation of what everyone’s agents are doing. I would definitely recommend to have a bunch of code that they can read, though; that was where my programming as a kid took a big step forward, was when I got a big disk filled with programs I could analyze and break down.

    • astrsk@artemis.camp
      link
      fedilink
      arrow-up
      2
      ·
      11 个月前

      Exactly why I still have and maintain my Apple IIe and old consoles. Both as nostalgia bait for myself but also as a way for my future kids to understand where we started. I don’t expect them to care, but I know I can trust toddlers with the games and programs and technology from the 80s and 90s without having to deal with parental controls or internet privacy concerns. This old tech can be valuable in both education and safe, fun entertainment until kids can learn to think critically about what they’re doing.

  • khannie@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    11 个月前

    Coder dojo have lots of age suitable things to get groups like that started. It’s focused on scratch to get going but moves into other things as they progress.

    I taught at our local one for a while and it was great having lessons all planned out for you based on age and experience.

    https://coderdojo.com/en/

  • nickwitha_k (he/him)@lemmy.sdf.org
    cake
    link
    fedilink
    arrow-up
    2
    ·
    11 个月前

    Might look at things like Adafruit’s Circuit Playground (BLE or Express). They can be used with MakeCode, which is similar to Scratch, and have fun I/Os.

  • dracs@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 个月前

    There’s a bunch of great programming games available on Steam. A lot of them start pretty basic, so might be useful for teaching the basics and driving interest.

      • dracs@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        ·
        11 个月前

        7 Billion Humans and Human Resources Machine (same developer) are probably the most kid friendly ones I’ve played. TIS-100 I found quite fun, but it’s assembly like programming which might be a hard starting point for kids. Zachtronics also make some good games, but the ones I’ve played are more programming games masquerading as something else E.g. chemistry with SpaceChem.

        • Rikudou_Sage@lemmings.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          11 个月前

          I played the first two you mentioned, definitely not kids friendly. The bonus level with prime numbers was something else.

          I’ll check the other ones.