this post was submitted on 17 Sep 2024
140 points (99.3% liked)

Asklemmy

43392 readers
1478 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy 🔍

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

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…

you are viewing a single comment's thread
view the rest of the comments
[–] SnotFlickerman@lemmy.blahaj.zone 11 points 2 days ago* (last edited 2 days ago) (3 children)

hand out USB drives/cheap SSDs

learning some “real” programming

  1. Handing out drives has to go hand-in-hand with education about how "you shouldn't just plug in any drive that someone hands you or you find on the street." That's basic security consciousness at this point. You might point them towards the Open Source schematics for this USB Firewall: https://globotron.nz/products/usg-v1-0-hardware-usb-firewall

  2. Don't start with "real" programming. Start with scripting. A place where you can get the feel of the ideas of programming while starting somewhere more basic. Linux scripting and Powershell scripting are both good places to start. You still get programming fundamentals (what is a loop, what's an if-else statement, etc) without jumping into confusing versioning or where to get updates (should I let Windows update Python, or do I want to update it with pip? You have to choose one or things get fucky with them overwriting each other).

  3. When I mean more basic I mean literally things like SYNTAX and PATH are way more important for students to be understanding before they start programming. Syntax and path (relative and absolute), in my opinion, are easier to learn when you're learning them on the OS you're using. That means "real programming" is obfuscating things like syntax and path, and students need to understand these core concepts before they move on to "real programming.* EDIT: Like seriously, students need to understand what the fuck a delimiter is and why it is!

[–] Quik@infosec.pub 3 points 2 days ago

Yeah, I will definitely start with scripting first, although I think Python scripting or similar is better for getting used to actual programming/loops and variables are just better and more intuitive than in scripting languages.

I actually only have programming on the list because I felt like I somehow needed to teach it, which is definitely true, but not at the very beginning.

[–] Quik@infosec.pub 3 points 2 days ago

You’re absolutely correct about the PATH thing, I think I should teach about how filesystems work in general (like, most people use devices that only have "apps" and have never used a file system/directory structure)

[–] Quik@infosec.pub 2 points 2 days ago (1 children)

I will have to teach some explicit security consciousness as well, basic and maybe not so basic stuff, maybe even spice it up a notch and do an intro to opsec to interest people (probably not gonna fit for time reasons, but will do basic security in any case)?

[–] teawrecks@sopuli.xyz 3 points 1 day ago* (last edited 1 day ago)

The best way to do this is to show them the exploit in action. Nothing perks a kid's ears up like holding up a USB drive and saying "there is a virus on this".

Run a demo in class of how easy it is to plug a random drive into one computer, and suddenly have full access from another computer (remote viewer and webcam access to really drive the point home. They're not going to be amazed when you type whoami and the console says root.)

Doing this is like saying "I know black magic and if you listen to me, I can teach you how it works, and how to defend yourself against it". What you have is no longer hypothetical to them, they will be invested.