The thing is, we are all techy so the courses they do are crap to us. And yes - I agree in theory that you shouldn't teach office only or MS languages but you have to ask - why are they being taught IT at all? If it's so they can get a job then what's wrong with teaching them stuff that is ACTUALLY in use? I'd say that learning C# would be a bit more useful than something archaic that has 0 real world applications.
I think one of the main problems is that they try to teach IT as a blanket "1 size fits all" course when really it doesn't. If it were up to me I'd have an easier course to teach basics (a bit of hardware, knowing what a virus is, different types of OS including new portable things, a SMALL amount of history etc and maybe at the end making a simple website). Then for the kids who are better, have a higher course where they learn about data structures, algorithms, branching strategies and all kinds of (interesting) things.
Either way - stuff needs to change from how it is at the moment. The course I did was out of date in the 90's and AFAIK they are still teaching roughly the same one (complete with paper keyboards to practice typing).