Graduate CS Program For Non-CS Undergrads?
An Anonymous Coward asks: "Graduate CS program for non-CS undergrads? I have a social sciences degree from a respected university, with a moderate amount of math. I have realized that much of the most exciting/important thinking and research these days is in CS, and I am trying to get the foundations and understanding I need to think about these problems well. I have never taken a CS class, so I am looking for a grad school or program that will take such a student, crash-course the prereqs, etc. Any thoughts on how to accomplish this? I have seen what Ars Digita is doing but hesitate to go with an unaccredited program."
That said, The University of Hawaii's MSCS is open to non-CS bacchalaureates with a working knowledge of C or Pascal, provided you make up your undergraduate deficiencies (to the tune of about 18-24 credits, IIRC). But I'd definitely find out if I had a inclination towards CS before I jumped into an MS program, if I were you (if, of course, you haven't).
"We can't all, and some of us don't." -- Eeyore
I looked at several MS programs, and they all wanted me to go back and get a BS in CS -- in terms of coursework, not in terms of actual degress. The advisors would hold up the list of courses that CS undergrads would have to take, then cross out anything that wasn't taught by either the CS department, or one of the engineering departments.
I know in their prejudice that they looked no further than my degree in Geography. The two years of calculus and the year of statistics was overlooked. The 3 semesters of programming was overlooked. The logic class was overlooked. The year of physics was ignored. The fact that I was working as a systems administrator at the time (third year of the job) was ignored. I knew Pascal, C, and VB, and had to play with perl, sed, and awk on a daily basis (and several obtuse macro langauges dealing with GIS). Throw in teaching myself a helluva lot. (Having a great boss is why. He'd give me a manual and say, "We need to do X, figure out how to do it, explain it to me, then do it.")
Anyway, you'll run into lots of bias because you're not one of the little CS elves from the beginning. I gave up on a MS in CS, but that doesn't mean I'm recommending it. My life stabilized (got married), we moved, and I'm now well paid. I want to rid myself of the bad programming habits I have, but fitting in classes around a 50 hour work week plus 10 hours of commuting leaves little school time.
Go for it while you have time. Some of us work because we get paid, and some of us work because we aspire to be craftsmen, hewing form and function from raw ones and zeros. Craftsmen tend to live happier lives, because work is actually fun.
You might want to consider the field of software engineering. I did my undergrad in English and History, and fairly easily got into a good SE program. I went through a similar process, and found that it was well nigh impossible to get an actual CS degree without taking a large number of fairly easy classes (data structures!).
Basically, the coursework focuses on working in the software world, and is not as theory-driven as an MSCS, but in practice you get to do a lot of fun stuff. I just finished a class in distributed databases (as in building them), and next semester I have a course in info retrieval. If you want to eventually be an academic, then this probably wouldn't be the program for you (although there are PhD's in this). There are AI classes and all that, too.
Check out the nearest big state university (I'm sorry, gonna assume you are in the US) and see if they have either an MS in software engineering, a Master of Software Engineering, or a Master of Software Systems. The admission requirements aren't lax, but if you did well in undergrad, have good references, decent GRE scores, and you work in the field, you'll probably get into the program.
One warning - they will run you through a few courses (survey of software engineering, project management, SQA, and maybe even a programming course) that can be very boring but incredibly useful if you are going into business software development.
If you are interested in more detail, feel free to contact me.
Rice currently offers a professional "MCS" degree that requires its students to take 30 credits of courses (most CS classes offer 3-4 credits). For students with non-CS backgrounds, we generally try to figure out "what are the holes in this student's background" and we generally assign such students additional coursework to fill in their education. These additional courses don't count toward the degree. Admissions are competitive. You need to take the GRE (the CS subject test is optional), and you need to also send us three letters of recommendation.
Rice also offers a joint MCS/MBA degree, which draws from the business school and the department of computer science, and we have some other specialized masters programs "in the works."
Note: the MCS and MCS/MBA programs cost money, just like being an undergraduate. There is also an MS/PhD program where we pay you ("a stipend"). Rather than just taking classes, however, you're expected to do real research; it's years of work.
For all of these programs, we do have a number of students admitted from non-CS backgrounds. Of course, it's incumbent on the applicant to demonstrate why they have what it takes to succeed in the program.
Anyway, lots more details are online. Good luck to you, wherever you end up going.
http://www.cs.rice.edu/Applications/