Give them each a raspberry pi, pre install it with risc os, configure it so the start up language is BBC basic 5.
Then have a search on places like 8bs.com and download some of the "type your own xxx xxx game" books, or have a look for "Marshall Cavendish input magazine" if you search around you can find all 52 issues as pdfs.
Have the kids work through the books, and the practical exercises in the magazines.
In the 1980s and 1990s this produced some of the best UK developers and coders around, and inspired an entire generation to write their own softwate, to explore the machine, to tinker about under the hood with things like assembler language, and really understand what's happening inside.
Once they grasp that, change the config of the rPIs and install desktop c, get them writing desktop software and designing guis for their apps so they start to learn high level languages, and how they relate to the low level, use your skills to teach them how users will interact with their gui.
When they start mastering that, jump up higher, compiled vs interpreted, script languages, presentation languages (such as html).
It never did me any harm, I make a pretty good living, I'm an 80s back bedroom developer and proud of it.
Before I submit this though, I know there are going to be many who will cry "we don't need low level knowledge anymore", "what on earth do you want assembler for" or "you old hippy grey beard, bigger off and leave us kids alone", to which I say.....
Trust your gut, it's not about learning assembler, or low level, it's about encouraging exploration, it's about getting them to discover how fascinating the journey they are about to embark on, and not just cramming their minds with syntax and turning them into code monkeys.
Even now, nearly 40 years later, I still love what I do, I'm not afraid to take the lid off windows/linux/macos and break things, because you learn so much more when you learn how to fix your screw ups.
Good developers are born out of passion for what they do, not from nessecity or a sense of future preperation.
Then have a search on places like 8bs.com and download some of the "type your own xxx xxx game" books, or have a look for "Marshall Cavendish input magazine" if you search around you can find all 52 issues as pdfs.
Have the kids work through the books, and the practical exercises in the magazines.
In the 1980s and 1990s this produced some of the best UK developers and coders around, and inspired an entire generation to write their own softwate, to explore the machine, to tinker about under the hood with things like assembler language, and really understand what's happening inside.
Once they grasp that, change the config of the rPIs and install desktop c, get them writing desktop software and designing guis for their apps so they start to learn high level languages, and how they relate to the low level, use your skills to teach them how users will interact with their gui.
When they start mastering that, jump up higher, compiled vs interpreted, script languages, presentation languages (such as html).
It never did me any harm, I make a pretty good living, I'm an 80s back bedroom developer and proud of it.
Before I submit this though, I know there are going to be many who will cry "we don't need low level knowledge anymore", "what on earth do you want assembler for" or "you old hippy grey beard, bigger off and leave us kids alone", to which I say.....
Trust your gut, it's not about learning assembler, or low level, it's about encouraging exploration, it's about getting them to discover how fascinating the journey they are about to embark on, and not just cramming their minds with syntax and turning them into code monkeys.
Even now, nearly 40 years later, I still love what I do, I'm not afraid to take the lid off windows/linux/macos and break things, because you learn so much more when you learn how to fix your screw ups.
Good developers are born out of passion for what they do, not from nessecity or a sense of future preperation.