I am a long-time software engineer (and so’s my wife), and we have a 15-year-old daughter. This year, she decided to take the programming class offered by her High School. In the class, there are multiple levels, all taught in the same class. It is the only class available during four years of high school.
We live in a US State with top-ranked public schools.
The teacher is a math teacher with little training in CS. The course starts with Scratch, which is a fine tool, but quickly fades once basic concepts are taught. Then it launches into Python, also a fine tool. The exercises are absurdly abstract (hey, Fibonacci!).
It seems as though the class is designed to cause students to reject computer science as a career. Perhaps “expose them and they will not notice that we have nothing else to offer”.