The problem is that teachers are often completely computer-illiterate. This is a chicken-and-egg problem; you won't teach proper, interesting computing activities without competent teachers.
Although true in general, some subset of students will figure out interesting things, and then show them to others, if you at least put them in an environment where that's possible. My middle-school computing class was not particularly well taught, but the curriculum included a few simple things in Hypercard, and Hypercard was the kind of environment where students who finished the official assignments early could find all sorts of other cool things to do in it.
That does also require having free time. There's a trend lately towards assuming that any free time students have is wasted time in which they could be learning instead of goofing off, which I'm not sure is the right way to look at it.