Actually, software engineering isn't a completely different animal from music-ing. It's the most similar animal I can think of. Its pedagogy is behind music's pedagogy by two, maybe three hundred years. (for obvious reasons) It could learn a lot from the errors in music pedagogy. For one example I can think of off the top of my head, the OP mentioned that we practice scales. Well, yes. But it really is "how" we practice scales that matters. Practicing a scale from bottom to top and back isn't really useful. But lots of people do it like crazy. They drill this. But nowhere in music (maybe performance art, though?)is there a scale in any key all the way up in four ocatves and all the way back down. Nowhere. So practicing that is really a waste of time. It isn't a waste of time if you want to just learn how to play anything fast though, because you "know those notes". Playing fast is a different physical feeling that is counter-intuitive really. But people practice scales like this for the key's sake, and that is really not a great use of practice time. A better use, in this analogy, would be if you wanted to see if you could get around a key in any direction, with leaps and figures and all the things that may show up in a key. Then practice that. Practice figures, loops, improv leaps- in a key. That will make you a better sightreader a better player in that key way faster than scales. I I have the data for hundreds of students, myself and colleagues to prove it. This information doesn't get to the regular Saturday student, but believe me, it is known by professionals and great teachers. It isn't unconventional at all, despite the many parents who get worried about their kids not playing scales like they did or like they heard in movies or TV commercials. Mozart practiced like this. Paganini practiced like this. I have to make the argument to concerned parents at least once a year anyhow. Not sure why. I'm not saying drilling isn't important. It is. But it's what to drill that is the thing. It is also not churning out a bunch of meat compilers and calling those musicians-- or programmers. One thing programmers cold drill right off the bat would be typing for programming. I see a lot of bad typing. I'm bad at it. I realize that's a basic idea. Programming is creative in exactly the way that playing the blues is creative. Everybody does it differently- those who develop their own style are the greats, but in the end, it is still blues. Not sure why academic education of those composers has anything to do with anything. Certainly those composers were some of the most educated, intellectual people who have lived, Monk being the least traditional in his expertise, but he sure understood social history. And even he headed over to work with Hal Overton when he wanted some respect from the establishment at Juilliard and for his Town Hall concert. My point being, in current educational models for programming (not talking MIT or Stanford, because I woldn't know and I'm sure it's different there, because they really pay for it to be so) we aren't reaching for great teaching. We aren't reaching for inspiration. We aren't reaching for technical innovation. But there is a whole lot we can learn from master teachers who have come before in other fields. I think the OP has a point, but I think project-based learning is very important. NOT, however at the exclusion of drills that are creative. Not at the exclusion of coming up with techniques that other fields have not thought of yet. I mean- sheesh- we have accessible mountains of teaching/learning data in computing. No one is using that to make their education better. Why?