I would say that you could start by learning perl and python first, this is always a topic of debate amongst me and the professors (about a third agree with me). I think that VB is meant for building fully functional programs that are complex in nature and that it includes to much additional stuff that is not necessary for learning the basics of programming which is what is important anyway. I believe the current leading theory is that you learn the conceptual notions behind programming in whatever language so that changing languages is just a matter of syntax, the UC system in Cali follows this approach. I am still just a second year student though and thus some of the more experienced posters may have a more heavily weighted opinion.
As for OS, I like BSD, I wish I had forced myself to learn to navigate through several flavors of Linux at an earlier age, retrospectively the earlier the better (go with Ubuntu for ease of access and use). As for Trojans and key-loggers and what not I have about 200 different "skiddie" style create a worm/batch virus/ RAT progs that I can send to you if you pm me (I have a few vids of them being used as well, I also have disassembly programs so if you do not have one you can dl them without having to fear that its a virus). They are fun, but they do not teach you much and you can destroy your system pretty quick, Ive had to reboot a few of my sacrifice comps when my code wasn't controlled.
Yea I would also get acquainted with nmap,wireshark,etheral(I say sniffers over keyloggers any day but this is an opinion), backtrack 4, and honestly google... its your best friend. Really.
Happy Hacking dont wanna drone on.