Thanks for the advice! I'm super critical about my programming but everything you mentioned "arrays, lists, queues, stacks, iteration, and recursion " I feel fairly comfortable with. As for a sys admin (which to be totally honest, I think is right up my alley) do you have any specific recommendations. I feel fairly comfortable with Linux, I started with MEPIS, am writing this on a laptop with Ubuntu, and have messed around with several distros in VM (I even compiled a gentoo installation).