I don't mean these classes where they get out and write
class Dog(Animal):
def bark(self):
print("a Dog is barking!")
but if there's young people being taught the difference between quadratic/exponential/polynomial algorithms, that's going to stew in their brains and ferment into gray matter that will ACTUALLY make them better programmers.I'm not an educator, nor am I educated ABOUT education, but it's just my hunch. I've seen many a young buck come around with a fancy degree or whatever, and not be able to see a skip-list shaped hole for his skip-list shaped peg. That's hard to deal with at a meta scale. I can't develop a way to quickly train people OTJ how to think algorithmically. They either learned to think about the problems that way, or they learned to rely on some stupid Haskell/Python/Elixir/Kotlin/Blub thing, and can't get any meaningful work done quickly.
Even outside of CS this will give them a huge head start.
Functional decomposition is one of the most valuable skill one can have. Knowing what an interface is and being able to see a system as a series of layers of abstraction is too.
edit: and probably also superfast internet, and a machine with a GPU, and maybe even some way of setting up a server cluster