My father taught me Basic and rudimentary C, I learned everything else on my own, including studying computational complexity on my own. That's more a function of my age than anything else though - back when I was in school there were hardly any programming classes.
Bram CohenThe mark of a mature programmer is willingness to throw out code you spent time on when you realize it's pointless
Bram Cohen