I'm currently studying computer science, or what could be called "information technology". It involves learning high-level-language programming, so general OOD, involving GRASP, Scrum, XP and more.
I've touched many surfaces but I wouldn't consider myself a master of anything yet. More like a jack of all trades. Especially concerning security and performance optimization (which usually requires a lower level language).