I want to learn, not get a degree
February 25, 2011 10:26 AM   Subscribe

How can I get a comp sci education without all the BS that goes along with getting a BS?

I'm in my mid-to-late-30's and a software developer by profession, with about 13 years of hands-on experience, and I've benefited tremendously from some wonderful mentors who have nurtured me along the way. I'm very comfortable in a senior developer role, but I don't quite have what it takes to be the lead developer or "architect" on a large-scale enterprise project.

My biggest shortcoming, I believe, is my lack of any formal education; I never completed a bachelor's degree, and I am largely self-taught. I have worked almost exclusively with Microsoft technologies for internet-delivered applications. So I've used ASP, VB COM, SQL Server (from 7.0 to 2008), ASP.NET, C#, WCF, ASP.NET MVC, IIS, etc. But I've never worked with Java or C++ or PHP or Ruby any non-MS language/framework/platform. I don't particularly feel a need to move away from the Microsoft tools or the web world, but I do believe that having a more formal computer science education could only benefit me.

At this point in my life (and with my obligations -- family, mostly) I don't believe it would be practical or beneficial for me to pursue an undergraduate degree. I would, however, like to have the benefit of a "from-the-ground-up" computer science education. I want to learn more about the theory, concepts, an mindset of software development; I want to internalize the underlying ideas of designing software without being influenced by a target language/platform.

I am married with two children, and so I have some constraints both in terms of how much time I can commit on a regular basis and how much money I'm able to spend. My wife supports me on this and wants me to pursue it. She realizes that this will probably require some sacrifices from both of us and she's okay with that, but we'd still like to keep things reasonable.

Considering all of that, what options do I have to get this kind of education without getting wrapped up in the undergraduate "basics" like history, English, biology, etc.? Additionally (or perhaps preemptively) can I even get the kind of education I'm looking for in the area where I live (The Dallas/Fort Worth, TX metro area)?

One other tangential question comes to mind with all of this... I know that some colleges/universities used to offer the option to "audit" a class. That is, to sit in on all of the lectures and take the exams and so on at a greatly reduced cost, but without earning credit hours. Is this still an option?
posted by ElDiabloConQueso to Education (18 answers total) 14 users marked this as a favorite
Go to a community college?
posted by anniecat at 10:31 AM on February 25, 2011

MIT puts all their courses online for free
posted by bottlebrushtree at 10:33 AM on February 25, 2011 [1 favorite]

If you just want the knowledge and don't care about the piece of paper, I'd start with the free online MIT courses, putt 100% effort into them (i.e purchase texts, etc) and see how far I got first before committing to 'real' school. There's a ton of real knowledge out there on the web free for the taking, if you're willing to put in the time and effort.
posted by cgg at 10:36 AM on February 25, 2011

There are universities that offer "professional development" classes in computer science at night, and you can just take those classes without being in a degree program. There's the computer science course material in MIT OpenCourseWare which are famous (infamous?) for concentrating on computer foundations rather than teaching PHP/Ruby/C++.
posted by deanc at 10:36 AM on February 25, 2011 [2 favorites]

Some schools will have the option of being a "special student" or "non-degree student" or something like that where you can take whatever classes you want and they'll issue you a transcript and so on. This may be an option, depending on what's near you.

However, you should realize that often such students have lower priority in terms of getting into classes which are full than degree-seeking students. In these days of shrinking higher education budgets, that's something to keep in mind.
posted by madcaptenor at 10:36 AM on February 25, 2011

You could probably learn what you need in the form of continuing education classes or self study. There are also online courses you can take for credit. For instance, Harvard Extension School's distance education program offers many computer science courses:
http://www.extension.harvard.edu/DistanceEd/online-courses/ There are probably more options available if you do some online searching.
posted by lsemel at 10:38 AM on February 25, 2011

Look up all the requirements for a BS in Computer Science, and then use a resource like the MIT classes that bottlebrushtree posted to find course materials for all those classes. Concentrate on one at a time, doing the homework and assignments given on the website. Don't skip over the hard stuff, or you'll be missing the point. Don't substitute your favorite languages in place of ones the classes require, or you'll be missing a lot of breadth of knowledge that will help you out further down the road. Basically, do all the required classes in the same way you'd do them if you wanted to get a passing grade.

There's no reason you can't learn all this stuff yourself, you'll just have to be disciplined and proactive about it.
posted by tylerkaraszewski at 10:41 AM on February 25, 2011

"Considering all of that, what options do I have to get this kind of education without getting wrapped up in the undergraduate "basics" like history, English, biology, etc.?"

I think you'll find that most accredited universities will accept CLEP exam results for a substantial portion of undergraduate credits (usually up to around 10% of total semester hours required, mostly in humanities and basic science areas covered by CLEP exams). At the University of North Texas in your area, 120 semester hours are required for the Information Technology major BS degree, and I bet you could reasonably expect to sit CLEP exams for 12 to 18 credit hours of this. Beyond CLEP, some programs permit departmental testing or "credit by review/recognition" for significant life experience in subject matter, but that is something you need to explore with the institutions that interest you.

One benefit of attending classes with others, as opposed to self-study, is that you work with others who can help you understand difficult concepts through sharing their experience, as well as that of a qualified instructor; student team assignments for many projects replicate the team approach many businesses actually favor in coding/support work for large software systems.
posted by paulsc at 10:50 AM on February 25, 2011

On one hand, you state that you think your career is being held up by a lack of a college degree. OTOH, you don't want to go through the BS of getting a real degree at your age, which is perfectly understandable. However, you are self taught to date, and you see that as the problem. I don't think more self-teaching solves the problem posed by lack of a degree. Your problem is not lack of knowledge, or skills. It is lack of credentials. Unfortunately, to get the shiny piece of paper that gives you the credentials, you are probably going to have to suffer some of the BS. A lot of schools do 'Executive MBA" types of programs, maybe somebody is doing something similar for undergrad?
posted by COD at 10:57 AM on February 25, 2011

The new edition of The Art of Computer Programming boxed set is due to be released in two weeks or so. Working through these books and doing the exercises is where I tell people who want to deepen their understanding of programming to start.
posted by ob1quixote at 11:03 AM on February 25, 2011

I have a BS in computer science and I don't think that's what you're looking for. Computer science teaches you on a deep level the theory behind programming itself: math, logic, algorithms, data structures, etc. My guess is that after 13 years of development, you have most of what you need already. What you're talking about sounds more like software/systems engineering. Or, you know, "Architecture." :-)

It might be fun/useful to branch out from the Microsoft world. Non-microsoft languages and technologies are generally a lot more fun and elegant. If you know C#, Java should be easy to learn, but something like Ruby might open you to some new possibilities and show you what the new hot thing is like.
posted by callmejay at 11:43 AM on February 25, 2011

(Those two paragraphs are two separate thoughts. The first is just that you should look at a different kind of curriculum than CS for what you're looking for. The second is more of a tangential point.)
posted by callmejay at 11:44 AM on February 25, 2011

If you just want some knowledge, yes. Most schools still offer auditing, if you're willing to front the cash. Realistically, you can probably just crash the freshman CS courses without paying for them and nobody would notice. But you might be better of with the MIT lectures linked in comments above. Lots of books and blogs and podcasts on software design and engineering you can also hunt down. TAOCP is a heady, mathy classic.

But it sounds like you want to advance in your career, and that the lack of a degree is holding you back. And for that you can't audit. And you can't skip studying or homework or exams or group projects for it. Working full time will only give you maybe 2 classes a semester, and even if you somehow got much of the gen ed waived, you're still looking at 20 or so classes. With that kind of lead time, you're better off prepping for a managerial role, I'd think.

Also, if you do wind up taking classes in person, try not to be That Guy. The one who only shows up half of the time, is always too busy to finish homework, and is always unavailable for group projects. How you do that while holding down a full time gig, I donno. Probably, you make a major investment now in personal efficiency and time management, and have a very cooperative employer and understanding wife. That Guy tends to drop out halfway through the semester, planning to Try Again Next Year.
posted by pwnguin at 12:16 PM on February 25, 2011

If it's the lack of a diploma holding your career back, and you've got your family and finances to consider, it sounds like distance learning would be a good fit for you, then. Take a look at the University of London's international programs, which have several IT-related undergraduate degrees available. Tuition and fees, excluding books and exams, will currently run you about $5,400 for the degree.
posted by evoque at 5:20 PM on February 25, 2011 [1 favorite]

Texas requires that every degree granting university certified by the state--which is every university, public or private, except religious schools--have a core curriculum of at least 42 credit hours. The individual core courses may vary but the topics must include english, science, math, history, Texas and US government, and oral communications.

Simply put: If you want a degree from a Texas school, you have to take the Texas core, which will include the undergraduate "basics." Completing the core is not hard. The Dallas County Community College District has Dallas TeleCollege which offers the entire Texas core online. Tarrant County College (linked above) runs the vast majority of the core online. Once you are core-complete at any public institution--whether community college or university--any other public institution--again, even a university if transferring from a community college--must accept your core "completeness" except in limited circumstances. In addition, most degrees in Texas for Computer Science certified by the Texas Higher Education Coordinating Board are 120-124 hours. Getting a full bachelor's degree without the 42-46 hours of basic core would leave a huge hole to be filled by electives and the state believes that the hole should be filled by having every student achieve a baseline of knowledge before moving on to higher-level courses.

Now, as for where to go: It really depends on where you live. D/FW is a big place, and has different schools with different features. Tarleton University has an all-online BAAS in Technology (it's not CS, but it is all online if that matters). Texas Woman's University (accepts men, I graduated from TWU with a B.S. in Computer Science) has a close-knit Math and Computer Science department that's good at the theory of CS, plus virtually all of the courses are taught by Ph.D.-holding professors and several are available online. University of North Texas and UofTexas Arlington have well-regarded CS programs, though they are large schools that tend to cater to the more traditional student.

Good luck!
posted by fireoyster at 11:39 PM on February 25, 2011

Aw bugger. I misread where you said "don't believe" as "do believe." My apologies.
posted by fireoyster at 11:43 PM on February 25, 2011

I second the University of London International programme. It's not as well known in the US but pretty popular especially in ex-British empire territory such as Singapore, Hong Kong, Sri Lanka, etc. It's also HARD, getting 1st class in an accomplishment no matter what. The price is affordable and you can enter exams only in the year when you feel you're prepared.
posted by joewandy at 4:14 AM on February 26, 2011

You sound a little like the Scarecrow in the Wizard of Oz. Perhaps your career would be accelerated if your knowledge was certified. MSoft offers certifications for everything imaginable. If you're good at learning independently, which you seem to be, get a subscription to SafariBooks and use the wealth of books to study for your certification tests. YouTube University has a lot of free courses, and you could fill in the theoretical underpinnings.
posted by theora55 at 5:20 AM on February 26, 2011

« Older 2011 Cost of Living Increase for NYC   |   I want to out on dates, not sit at home and write... Newer »
This thread is closed to new comments.