The best teacher for the web is the web itself. I've been a professional web developer/designer/architect since 1994, and everything I've learned I got from finding someone else's site, seeing something that I really liked, viewed the source code to see how it worked and made it better for my own use. That simple philosophy has served me VERY well in my past 17 years in this industry. One of my co-workers is taking formal classes now and some of the stupidity that he tells me about that he gets from his teachers boggles my mind. Telling them to always tell their clients that "it will take two weeks" to complete a particular task, regardless of the complexity (or simplicity); Or that writing efficient code is no longer important because computer memory capacity has gotten so huge it doesn't matter any more. Things like that make me cringe that that's what's being taught to the next generation of developers - when they're not even being told basic debugging techniques like printing out your variables to see what they're doing during the course of a process - VERY valuable if you're not fortunate enough to have a debugging tool. With deference to the few good instructors that I'm sure are out there, it has generally been my experience that "Those who can, do. Those who can't, teach."
As for Flash, it served a purpose at one time, but IMHO its usefulness is quickly coming to an end. HTML5/CSS3 is a Flash Killer (thank God!)