At the time at home I was also writing Basic, C programs - if I had a CS course it would helped bootstrap my learning a lot better.
My dad kept saying at the time that there probably wouldn't be any programming jobs when I was older because AI was on its way to replace humans. And that was kinda wildly spread knowledge (remember this is basically quasi-pre-internet days).
Every CS course I took in college was an easy A at that point. I didn't go beyond my BS because as many of us know, the industry was calling. And I already had 2 jobs (one self-owned web development company) and worked for another company.
Zooming forward to today, I absolutely believe we won't have AI replacing humans yet - so absolutely think every HS should have a curriculum like yours if not even more aggressive. Then push a BS in CS to be more like an MS in CS. We really do need to make such advancements because, well, all other jobs are being eaten by software.
Everyone thinks that their field should be better emphasized at highschools. I think kids should get some background in law (not laws, law) given they will have to go on and obey laws for the rest of their lives. But I know that isn't going to happen. I used to teach 2/3rd year university kids. Highschools need to spend more time teaching kids how to read because, atm, they aren't. I was facing people in their 20s who had trouble reading more than a page or two at a time, who couldn't string together sentences into coherent paragraphs. (Also, basic numeracy.)
But yes, definitely agree with you, and it can start with basic contracts, implied and written.
For my 2 cents, if there's one thing we need to teach in schools, it's being nice. No one is "nice" anymore, except for innately nice people. Everyone seems to be out of niceness. I LOVE meeting people that are 50+ because, well, they are nice.
It used to be something inherited from parents, but it just keeps slipping generation to generation.
Out of curiosity, how old were you then?
And if you were advising a school on a progression, how young would you start teaching various topics? Like touch typing at age 5; sequences of commands, functions, conditionals and simple looping at age 6, used for solving puzzles in about 10-20 lines of code; expand for solving puzzles in about 20-30 lines of code at age 7, and so on.
I wouldn't know what age to put kids through that - I don't have kids, but I know they are already exposed to computers much much earlier than I was. But 6,7,8 still feels slightly too young for me for that kind of comprehension.
And just to edit: The only requirement to this stuff is focus and the curiosity to learn. So younger aged kids may very well be adept so long as home life, etc.. are stable in that regard.
I worked with a non-profit that attempted to pitch exactly this to state governments, using game development as the framing. We ran summer programs to gather data while pursuing funding, and it was fantastic. Kids who had no interest in programming, logic, or physics bought into it in the context of building a level. Kids who wanted to code but had no interest in art, music, or writing bought into it in the context of creating a story.
Funding for an in-school pilot passed the state legislature, but the governor line-item vetoed it. Good old Bobby Jindal.
>One really intelligent decision the department made was to not just mimic a college curriculum.
It would have been GREAT if my high school even mimicked a college curriculum. We barely had any AP courses & I think it would haven't been a surprised if you didn't go onto college from my high school. You re definitely speaking from a place of immense privilege and it's amazing your school offered that.
I would worry more we're just creating students trained to work for Amazon.
My high school has exactly one CS course (AP Computer Science) that teaches more mathematics than computer science. This is something I would love if it existed at my school.
I've been currently self-teaching CS for the portions that seem relevant and interesting, such as ML/DL, algorithms, and data structures.
My high school registered its domain name in 1990 (mbhs.edu) to give you an idea of how on top of the ball they were.
I was fortunate enough to go to a high school that had an amazing computer science curriculum (8 semesters worth of classes). One really intelligent decision the department made was to not just mimic a college curriculum. After all, why teach something kids will learn a few years later? Instead, they mixed in some offbeat courses. They had a software development course that taught Python and basic web dev. They had a graphics course where you built a graphics engine. They even had an intro course with Racket. It's unlikely other schools will be able to replicate this exactly, but I like the concept of fun over "usefulness".