A quick note: when learning anything, I wish very strongly to focus on things that have cross-applications. I have little interest in focusing on learning specific skills, so when I state an interest in programming or closely related subjects, I mean that I wish to learn the metaskills associated with it. Logical, clear, precise programming that can be used even for supercomputers, not a language specific skill that teaches me nothing about computing in general. I don't see anything as a stand-alone field, so it is very important to me to learn very abstract/general aspects that I can use in the future when messing with supercomputers, or for other subjects within the "Engineering" label, such as architecture, drafting, materials science, etc. So, all-encompassing and general concepts>specific things, k? As I stated in the other thread (which went off-subject), I believe that Python is the best first language (for me at least). Because I have a tendency to focus on the global picture, a language that doesn't punish me for little mistakes is best. I know that C++ is 'stronger', whatever. It also has a $*%@load of rules and exceptions that I would rather avoid learning for now. First couple of questions: I noticed a book by Boole at the library. Would that help with programming at all, or would it be best to wait a bit for that? A related question, what prerequisites are really useful? I know that logic helps, but should I seriously jump into logic right away? Anything else? I am looking for a dull retail job right now. As I wish to make more $ than that, and to have flexible hours so that I may focus on other things (mathematics and German, for instance), I see programming as a way to ensure that I don't become homeless, as well as being a primary job until I begin consulting, or whatever else that my educational growth will allow. Right now I live on roughly $10K a year, so even a $20K year job/freelance work would be great for a year or two. :D So I figure that to develop the habit of working on programming and super closely related stuff, that I should devote a specific amount of time per day to it. For now, I think that 3 hours a day should be satisfactory, and that figure could easily be maintained even in the case that I get a job. I personally feel that I'm almost unemployable, so my goal is to become employable through programming ASAP. ^_^ It's a contingency plan, so I can have control over my own life and ensure that I go to uni, etc.