I am a student in Germany myself and got the rare chance to influence the education about CS/responsible use of technology people get in a special course I will give for the interested in my school this year.

The students will be eight grade and up, and it is a reasonable assumption that I will not have to deal with uninterested students (that and the probably small course size gives me an edge over normal courses beyond my actual planned lessons).

My motivation for investing substantial amounts of time and effort into this is my deeply hold belief that digital literacy is gonna be extremely important in the future, both societally and personally. I have the very unique chance to do something about this, even if only on a local level, and I’m gonna use that. I fail to see the current CS classes in German “high schools” (Gymnasien), and schools with our specialization (humanism) especially, provide needed education. We only had CS classes from grade eleven—where you learn Scratch or something similar and Java basics (most don’t really understand that either, or why you should learn it (a circumstance I very much understand)).
This state of affairs, and the increasing prevalence of smartphones instead of PCs means most students lack any fundamental understanding of the technology they’re using everyday.
My reason to believe that I’d be better at giving CS lessons than trained teachers is that these have to stick to very bad specific guidelines on what to teach, and a lack of CS graduates wanting to become teachers means our school has not a single one who studied any CS (I did).

Some of my personal ideas:

  • how do (basically all) computers work hardware-wise (overview over parts)
  • what is a computer/boot chain/operating system/program
  • hand out USB drives/cheap SSDs to students that they can keep (alternative: a ton of VMs and Proxmox users of one of my hosts) and have everyone pick and install their Linux distro of choice (yes, this is gonna be painful for all involved, but is also—as I suspect many of you already know—extremely rewarding and can be quite fun)
  • learning some “real” programming (would probably teach Python), my approach would be to learn basics and then pick projects and work alone or together (which is useful for learning Git/coding in a remotely readable way)
  • some discussion of open/closed source, corporate tech, enshittification, digital minimalism and philosophy of technology (which would be okay because, you know, humanistic school…)
  • maybe some networking (network stack, OSI, hacking Wifi networks…)

What are your thoughts and suggestions? Took me some time to get to an agreement with the school over this, so I’d like to do my absolute best.

Possibly relevant questions: what fundamental knowledge about tech do you suspect to be still relevant 15 years from now, what would you like to have learnt, what would you find interesting as a student this age…

  • @barryamelton@lemmy.ml
    link
    fedilink
    173 months ago

    I would go with tasks where they get to “hack” or learn about each other. Give them usb sticks, make them put a silly trivia on an encrypted 7z with passwords that are somewhat crackable. Then, take their usbs from them, and distribute them randomly, and let them use jack the ripper or so. Twist, you would have added a virus or something into the USB stick, so they get infected with a “silly pop up” once they start jack the ripper. They get to play, and the exercise will stick with them.

    Teach them about 10 minute mails pages, to open a silly account t somewhere.

    Make them use a VPN like mullvad or some that you have set up to access a specific page or make web searches. They can notice the difference in content depending on the country they are exiting with. Twist: you control the VPN, provide them at the end with a list of accessed pages so they understand how the vpns do not ensure privacy. Explain simply what a VPN is (tunnel,etc).

    • @barryamelton@lemmy.ml
      link
      fedilink
      133 months ago

      Follow-up: teach them to learn to troubleshoot and search. Take the fear of breaking something from them by providing them with a VM with windows where they need to fix something or install a driver. Provide them with a Linux VM just for them to try too.

      Teach them mistrust. Make them upload things to a copy of Google docs or something, and then show how you have access to everything.

      Teach them about open source as a precondition for being able to trust software.

      • @Quik@infosec.pubOP
        link
        fedilink
        133 months ago

        Especially the “don’t be afraid to break and how to troubleshoot” part seem very important to me, I will definitely do that. Thank you!