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…
I consider myself to be a fairly tech literate person. Not a professional, but better than average. The guy my family comes to to troubleshoot computer problems, basic working understanding of programming and networking but not nearly enough to do it professionally.
I think you're shooting too high on some of these.
Basic hardware is good, but don't spend too much time on it or go into too much detail, just kind of basic overviews. Boot chain is probably pushing it, but basic overview of operating systems is good.
I probably wouldn't go so far as having them install their own Linux distro, that feels like you want to take a week of your class time to troubleshoot all the potential issues that come up, if you do it on school computers you're probably looking at a nightmare getting that cleared by your IT department, and if it's their personal devices you're probably going to catch an earful from some parents for messing up their/their kids computer.
I do think it's a good idea to have some computers running Linux for them to use so they can see what it's like, and probably some macs too, I'm not an apple guy but there's a lot of them out there and people should be at least a little familiar with both.
I don't know what the current state of things in schools is, but you can certainly hand out some flash drives, but there's a decent chance they already have some. I know over a decade ago when I was in high school pretty much all of us were already carrying around flash drives.
Programming is good to introduce them to, python is a solid choice, but unless these are kids who are pretty sure they want to go into computer science I wouldn't go too deep. It's not a particularly useful language for actual usage but I think that BASIC still has a useful role as a way to teach the fundamentals of programming to people in an accessible way to see if they may want to pursue it further. I know programmers hate it, but visual basic is also kind of satisfying because it makes it pretty easy to crank out something that looks like an actual finished product.
I'd keep networking pretty straightforward. Network stack and OSI are probably a little too high level to go into, but basics about WiFi, Bluetooth, Ethernet, routers, switches, firewalls, etc. are good to know.
Basic typing and general computer use are probably something a lot of kids could use some work on. A lot of kids these days have a lot less experience with keyboard and mouse computer use thanks to smartphones and tablets. Don't shun the touchscreen devices though, they're more powerful than a lot of people give them credit for, and since that's the way technology is trending figure out how to push the borders on what you can do with them.
So much yes on the typing, The number of young people who don't even own a laptop and do all homework/correspondence on their phone is too damn high. (Which coincidentally, is tied to how they don't understand file systems/path)
That's not to shun the use of phones or that form factor, and maybe this is just the old fogey in me, but phone interfaces are so limited and you have to jump through so many hoops to do what amount to keyboard shortcuts on a PC. (Yes I know some young people can be quite quick and accurate with them... thus old fogey)
It's rather more about how long it ends up taking them because they're shunning a device that is aimed at streamlining such processes, instead of a device that is aimed at being a phone, with a computer slapped on for funsies.
I’m absolutely with you on the typing, the problem is (as far as I’m concerned) that learning typing takes a ton of time that I don’t want to spend just on that, so I’ll instead provide them with resources on how to improve typing skills if they want to.