views:

1427

answers:

7

I'm looking to do a masters in computer science on the east coast of the US in the next couple of years but I'm one of those people who's mostly self-taught. I graduated in 2005 with a law undergraduate degree (in the UK) so i have several questions:

  1. Is professional experience useful in my masters application, or do they value 'formal education' more? (I've been a developer for 2 years working with .net / VB / SQL)

  2. Would it be beneficial for me to do take some formal maths / computing courses in my spare time

  3. What other activities are looked fondly upon in applications, open source contributions or personal projects for example.

Thanks anyone and all for answers.

+2  A: 

It really depends on the individual institutions. A lot of professors would glance at the resume and then interview you (not the paper).

But many more have to deal with so much other work that they can't spend the time to find the great candidates with little verifiable experience (sorry, but 2 years is unlikely to be equivalent to bachelor's experience in SW development).

I guess I'm wondering what you hope to accomplish with a masters?

Still, a lot of schools value cross-pollination, and with ethical/IP/regulation concerns affecting every aspect of software development you may be able to find a professor that'll snatch you up.

The key is to start networking. Get in contact with professors of universities you're interested in and ask them what they would do in your situation. You may be surprised at how helpful they are, even though they may not consider bringing you to their lab.

Good luck!

Adam Davis
+1  A: 

Check out these previously asked questions:

Ray Vega
Good info, but it doesn't really answer the question "I've decided I want to get a Master; how do I go about getting accepted to a good institution?" Whether the M.S. is necessary to begin with is an interesting and valid question, as you've alluded to, but that's sort of orthogonal to his question
Matt J
+3  A: 

It seems to me that most courses in a master's program would assume a fair understanding of advanced math to include statistics, discrete math, and, to a lesser extent, calculus. Some background in graph theory and statistics is especially important or you'll be fighting to keep up with everyone around you in some courses. A good understanding of computer organization, operating systems, and algorithms (and algorithmic complexity) will go a long way in making things easier.

You may want to look at the required courses for a BS and get some books (or take some classes) that would fill in the gaps between what you know and what an undergrad CS major would be learning.

tvanfosson
+5  A: 
  1. .net/vb/sql is not very good at teaching you computer science. C++, C will teach you more. So, no. Your experience is not near the equal of a comp sci degree. However, some programs will have remedial classes. You'll probably need to take them.

  2. Absolutely. A year of calculus, a semester of discrete, and a semester of linear algebra will do it for the math. Add to that a semester of algorithm analysis & a semester of theory of computation/complexity. Those courses will bring your theoretical knowledge about to par with a CS undergrad.

  3. Do some kernel work or other stuff down at the low level; embedded systems, etc.

In sum, you are deficient in mathematics, theoretical computer science, and computer architecture. (not to be offensive, but those are the difference between where you are and where you want to be). The question is, will your Master's program supply the needed coursework for you? Some will, because they accept people coming from non-computer science backgrounds.

You should also be aware that there is a difference between a computer scientist and a software engineer. Keep that in mind as you move forward.

Paul Nathan
A: 

Professional experience will likely give you a leg up over people with similar educational background. From the limited info you've posted I don't imagine your experience would be considered enough without a CS/Math/Eng related bachelors degree. Unless you've also got some very astounding grades / impressive publications / open source / hobby projects under your belt, or took a lot of related electives during your undergrad I don't think most schools would seriously consider your application.

Is there anything on your CV that indicates a strong aptitude for math, algorithms or research? You could have 20 years of commercial development, and that probably wouldn't be enough on its own.

A masters in CS isn't about programming, although it's a useful skill to have. If you can't demonstrate a suitable background in actual computer science topics (algorithms, data structures, etc) then they will assume you're trying to run before you can walk.

So to answer #2 and #3, yes! Study the CS concepts and math (courses are nice because they leave a paper trail) and work on open source / personal projects related to what you want to study at graduate school.

A: 

It depends upon what kind of institution you plan on attending. In my experience, there are academic programs and professional programs.

My personal examples:

UMBC is academic. It's theory heavy and requires a thesis or scholarly paper. Generally, you'd have a BS in math or computer science to get in. Not required exactly, but expected. Significant preparation. [Edit inspired by avgbody] GRE probably required.

Johns Hopkins is professional. No thesis or heavy theory; it's geared towards career oriented folks. [Edit] No GRE

Both are good. What can you handle and what are your goals?

Dave
UMBC doesn't actually require a thesis. They have a non-thesis option.
jinsungy
"... or scholarly paper."
Dave
+1  A: 

It helps to know what fields/area you might be interested in focusing. Some university's have specialize areas and groups that can help you benefit toward your personal goals, while others might be more of a general knowledge. If there is something you stride for, knowledge in that area might be useful.

Considering that you don't have a Bachelors in Computer Science, some school will require you to take "Bridge Courses" to get you up to speed. At my university, I believe they required 3 out of the 4 courses. These were basic comp sci fundamental courses like data-structures.

Also, some university's might require you to take the computer science's GRE test GRE-CompSci.pdf before considering you. I guess it wouldn't hurt to study it, I was lucky in that I only needed to pass the normal GRE with a certain score based on my undergraduate's GPA. The lower the GPA, the higher the GRE score had to be. Link to GRE

avgbody

related questions