I consider myself pretty lucky to get decent tech-related courses from early on. I remember I had one back in fifth grade or so that taught us how to use a computer, the MS Office applications, software and OS concepts, computer history, those nifty keyboard and mouse shortcuts, etc. which were a bit basic since I pretty much taught myself (that or my brother taught me) some of these things, although it was really fun to learn all the same. That was really lucky because they just started to teach that topic in the curriculum then, what with the recently finished school computer lab. After that, there was a lack of IT-related mandatory topics to take for a while.
Then came high school, which placed us into a science intensive curriculum (which included computer science, yay) and allowed us to choose between programming courses or web development for the rest of the four years. That was a bit cool, because after getting through an introductory, mixed course of basic HTML and such in freshman year, I picked the programming path (which I sort of regret now, because the only reason I picked it over web development was because I felt I wasn't artistic enough for the latter). From that I got taught basic programming for C++, Java and Python, one for each remaining year, and I enjoyed it a lot. I suppose I should be happy I learned to program in those languages (the early interest actually got me into ROM hacking and eventually, here in PC, but that's another story), but I don't even remember much apart from the most recent one I learned, from years of not practicing. Like, if you were to ask me to code a basic C++ program and I don't get to review some of the basics, I'd just stare at you. So much for having an advantage with mandatory courses. And anyway, I thought web development was a bit more useful for IT anyway, or so I've been told. :\
I'm still actually pretty interested on the IT scene at present, despite having a major that has nothing to do with it, so I could say I wish I were taught some of the web development tricks that I opted to shy away from back in high school (although I heard the guys who picked that path had topics that focused more on web design). Besides that, I can't think of anything I wish I learned. I guess I could try to take a course on web development some time, or learn some of the basics myself.
To answer the third question, my favourite part of IT in school would probably be learning my first programming language, C++. It was really fulfilling to get the hang of it, and I found out that knowing how it worked also helps in studying Java and Python. I guess that means it would probably be the most useful one I learned, too. Wait, no. I don't really use that knowledge at the moment, so it's not that useful. I'll go with the HTML courses back in freshman year. It helped with learning CSS here at PC, so yeah. :)