Bret Victor, who wrote the piece that inspired Khan Academy CS, writes a beautiful piece on why KACS is not what he had in mind, and illustrates in detail what he really envisions.
It’s a great dissection of what an environment for learning programming *could* be. I like that he stresses that “programming is a way of thinking, not a rote skill”. I have seen so many examples of the latter — kids straight out of college who can write some code, but who don’t seem to have that “intuition” for how the code could be written better.
I wonder if there is some way anyone could do an analysis of programmers with “book learning” vs self-taught programmers who learned by exploration?