If you are in software, then likely you are heavily self-taught. Well, being self-taught in nearly all parts of academic engineering is easier than in practical software if only because in nearly all of academic engineering the learning materials are much, much better written.
To do self-study in academic engineering, it is crucial to get some of the best materials, usually, still, textbooks. For this, investigate and pick carefully. Indeed, you should have little trouble finding what the favorite textbooks are for what you want to learn -- likely can get enough just by going to the Web sites of the most relevant universities, departments, courses, and professors. For the engineering schools, don't be reluctant to go right to the top -- MIT, Cornell, CMU, Georgia Tech, Stanford.
If you need more, then maybe send a nice e-mail to some professors, in a few words explain your situation, maybe include a list of the candidate books you have found, and ask for suggestions, say, the textbooks he's been using, on the list or off.
Point 2. If you want an 'expensive' Bachelor's degree, say, for $50,000 a year at an Ivy League university, instead shoot for a Masters or better yet a Ph.D. from such a school. Why? In important ways, the graduate degree is faster, easier, and cheaper than the Bachelor's. In my experience, at the best schools, Ph.D. students rarely pay tuition anyway. And from the famous Ivy League schools, it's generally easier to get accepted for a Ph.D. than for a Bachelors.
Point 3: If you want a Bachelor's degree or need one (say, to get accepted for a Master's or Ph.D.), then one option is just go to about the cheapest school you can, maybe starting with just a two year community college and then transferring to a four year college to finish your Bachelor's. "Don't pay a lot for this muffler" -- uh, Bachelor's degree. Everyone in higher education understands that there are good students with little money or family background in academics and respect such students. If you learned well, then as you finish your Bachelor's you can get some high GRE scores which will look great applying to a Ph.D. program and make up for starting at a community college.
Point 4. Even following Point 3, to save money and get better results, still emphasize self-study. That is, before taking the course, study the course on your own first. Then take the course, lead the class, ace the course, amaze the professor, and get glowing recommendations, say, to a good four year college for your last two years, or from a four year college to a Ph.D. program, as the best student he ever had, maybe get a scholarship. Besides, this way might get to take extra courses at once, save tuition money, time on campus, and expenses commuting to campus and look still smarter, all because you just studied the material before you took the course.
Of course, this self-study stuff can work great for the more theoretical and mathematical parts of engineering but work less well where you might need time in an expensive lab. So, emphasize the theoretical and mathematical parts and for the rest do what you can without a lab. Then in school, when you take the lab course, you still have a head start.
E.g., on self-study, I got a Ph.D. in essentially applied math, but I never really took freshman calculus. Instead, in my freshman year the poor school I was at insisted I take some 'college algebra' which was beneath what I'd covered in four years of math at a relatively good public high school. So, not to fall behind, I got a decent calculus book and dug in. For my sophomore year, I went to a much better college and started on their sophomore calculus (right, never got course credit for freshman calculus), was likely the best student in the class, was a math major, wrote an honors paper on group representations, and got 800 on the Math knowledge GRE.
So, I covered freshman calculus well just on my own from just a calculus book. You can too. Indeed, if you take a calculus course, mostly you learn from the book anyway.
Just study the material from the book before the course instead of mostly from the book (which usually you have to do anyway) during the course. If you get hung up, then ask for some help, on-line, from some videos (if they help -- not all of them are good), knock on the door of a prof and ask a question, etc. Tell him you are studying on your own and want to be clear on, say,
f'(x) = lim (f(x + h) - f(x))/h
h --> 0
or some such. Mostly a prof's office hours are not
very busy, and a prof might answer one good question
for you even if you are not in such a class or even
in his school. If he refuses, then to heck with
him!There are some poor textbooks out there, and some of the better books will still have a poor chapter or two. A bad book or chapter can be a chuckhole in the road but only if you let it. If some material seems not well written, like drilling through bedrock, or needing prerequisites you don't have, then get 1-3 alternate sources, maybe just by photocopying some chapters from some books in a library or buying some books as supplements. E.g., there is a book on linear algebra by E. Nearing, and it quite good except it has a chapter in an appendix on linear programming that is just awful. Nearing understood a lot of linear algebra but not linear programming!
So, get copies of, say, the three best books. Learn mostly from the best book and use the other two for alternate explanations (so that you won't get stuck and won't misunderstand).
Now, textbooks are darned expensive, the latest editions, in hardcover, commonly over $100 a copy. Three such books could set you back $300 -- bummer. So, instead, in nearly all undergraduate courses in engineering, get used texts, in good condition, 5-10 years old. Such books will still be plenty good and will save you a bundle of money.
E.g., I took sophomore calculus from the text by Johnson and Kiokemeister. At the time, it was also used at Harvard. It's a beautifully written, highly polished book. Tough to write a better calculus book.
So right away from a Google search at
http://www.amazon.com/Johnson-Kiokemeisters-Calculus-Analytic-Geometry/dp/020504218X
can see Johnson & Kiokemeister's Calculus with Analytic
Geometry [Hardcover]
6 used from $9.25
So, can get it for $10. Don't pay a lot for a great
textbook.Actually I got my copy 'used' from a student who had tried the course the previous year and learned that he should major in English or some such instead! More generally, due to such circumstances, a lot of used technical books are actually in quite good condition.
You don't have to work all the exercises, but you should work enough exercises so that you are sure you can work all or nearly all of them. A good textbook will have in the back answers to half or more of the exercises; so check your work with the answers. Occasionally an answer is wrong. If you suspect such, then maybe e-mail the author! Or ask a local prof to check your solution and impress him that you beat the textbook!
Occasionally let a difficult exercise go unsolved or ask for help; in some books, 1-2% of the exercises are in there poorly written, out of place (need material not yet covered in the book or not in the book), or are to see if a student can recreate some brilliantly clever argument mostly unrelated to the book. Don't let yourself get hung up on 1-2% of the exercises afraid you missed something -- give such an exercise a good shot, then just ask for help or drop it.
Continue this theme of self study, especially if you want to go for a Ph.D. E.g., at one time the Web site of the Princeton math department just flatly stated that the graduate courses were introductions to research by world experts; no courses were given for preparation for the qualifying exams; and for the qualifying exams students were expected to prepare on their own. Indeed, in that case, why bother to be on campus in expensive Princeton, NJ?
So, broadly, you can get a Bachelor's paying little or no tuition.
Then for a Ph.D., or even some Master's degrees, the big trump card is having published some research in a good, peer-reviewed, academic journal of original research.
For how to do the research, that would need another post!
In the whole thing, nearly all the work was self-study from used textbooks, and the tuition you paid was tiny. You cut down on time and cost commuting to campus, eating campus food, etc. You aced nearly all your courses, and you avoided a huge list of potential 'political' and other problems.
Learning is not a spectator sport but an individual thing with hard work, done alone in a quiet room. You can blow a lot of time and money going to class when what you really need is just hard work, alone, in a quiet room, which, indeed, the courses won't much replace anyway.
Not everyone learns the same way. But, since you learned the material before you took the course, the profs never get to see how you learned; you never fell behind in a course; you aced courses, and you never got criticized for your learning style.
Net, lack of money is no great reason not to get a degree, even a Ph.D., in engineering. Indeed, the main challenge is just the learning and, then, research; if you can do that, mostly on your own, then money for your degree is not a biggie.