Not all lecture-based schools are crappy. However, the reality is that the more practical experience people have, the faster they learn. Having a boring "lecture" on Perl is less productive then having a quick 10 minute session on building a Hello World app using Perl. People essentially learn by doing, it's as simple as that.