views:

1491

answers:

17

I'm 18 years old and going to community college. I got an A+ in my data structures class, but the biggest thing I've ever programmed on my own was a tool to solve a 3d maze toy of my brother's. I'm a little worried that I don't have enough passion for programming to succeed in it. Majoring in math would give me time to try out open source programming and maybe try to code a larger project of my own. Also, I would have the flexibility to go into a field like statistics if software didn't seem to be my kind of thing. However, I'm thinking it probably wouldn't look quite so good on my resume if I did decide to either look for a job as a programmer or try to get a CS master's degree.

So. How hard is it to get a programming job interview with just an undergraduate math degree? How hard is it to get into CS grad school with just an undergraduate math degree? Should I be worried by the fact that my brother spends a portion of his free time programming stuff and I don't?

Thanks in advance.

+4  A: 

In some colleges you can double-major. Usually, the only difference between a Mathematics major and a CS major is a couple more math classes.

If you're forced to choose between the two, then I would definitely recommend the CS major.

CAbbott
Note: Dual major and double major are not the same. Double major means two pieces of paper and more credit hours. It often requires an extra year worth of courses. Dual major means one piece of paper with two majors and does not require more credit hours. It usually means converting your free electives into the courses you are missing.
Brian
@Brian: Understood. My point being is that a lot of colleges recognize that CS and Math degrees have a lot of overlap and have built-in pathways to double-major. My college had this where it involved about 6 more math classes for a double-major.
CAbbott
Note: My degree was a "Combined" that had both majors mentioned in the degree. There was the option to do a "Joint" degree that had less strigent requirements.
JB King
@Brian: I think you may be confusing double majors with dual-degree programs and dual majors with interdisciplinary degrees. See http://en.wikipedia.org/wiki/Dual_degree
las3rjock
@Brian: I think Ian's right. At my school, "two majors, one diploma" is a "double major", and "two majors, two diplomas" is a "dual degree".
bcat
@bcat: Wikipedia says you are right, but I know that at my school they used the opposite terminology. Or at least, the person I talked to about it (maybe my advisor) used the opposite terminology.
Brian
+1  A: 

Usually progamming jobs will say "Computer Science or Related Degree" in the requirements section.

Many CS majors are aware that there is a good overlap between CS and Math, but you'll need to have your resume show the relevant CS coursework that you've done.

The best thing that helps land an interview is having real work experience, so while you're in school try to get a summer internship.

Alan
"The best thing that helps land an interview is having real work experience" Demonstrably false. I've over a decade of experience, no degree, and I just finished spending 6 months being unemployed because tech recruiters won't look at me without a degree.
JMP
I have a similar background, but have not had any problems (so far) with getting work (17 years now).
crashmstr
the degree helps get you though the HR filter.
Muad'Dib
You finished 6 months being unemployed (by your words I assume you now have a job) during the greatest economic downturn since the Great Depression.Hardly evidence that my claim was false.
Alan
+8  A: 

Honestly, you should major in the field you want to work in.

Many of things you learn in Math aren't used or necessary in CS, and not only that, you'll miss out on many important CS concepts and theory. Programming is one aspect of CS, but there's also understand the theory behind the implementation. Why things are the way they are.

Stephane Grenier
Many of the CS theories you learn aren't really important in the real world of programming either ;)
Alan
Alan: True for most devs, but not for all.
Ed Swangren
@Alan - but that doesn't matter because grads are almost always useless practically (harsh but true) coming out of uni, and getting the job it's purely *having* the more relevant degree which will matter. Exaggerated, but again more or less true.
annakata
Let me rephrase...if you get a CS degree, you probably shouldn't be programming, unless you are developing an algorithm, data structure, compiler, programming language, operating system, network technology, working with computer graphics, computer vision, a new database system, security, AI, robotics, or supporting engineers in building systems. And you definitely should not be building business applications, but doing scientific work.
Thomas Owens
And to back up my statement, a paper from David Parnas: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.1829
Thomas Owens
what does he know, he can't even spell 'programs' right!
mgroves
@mgroves: What's wrong with using the English spelling of an English word? :-p
las3rjock
@Ed: Yes, I did not mean to make it seem like that was universal. @annakata: Grads are useful for grunt work, while they get up to speed!
Alan
The first sentence says it all (and gets the +1).
Beska
Your CS degree may teach you how to code (i.e. how to solve problems), but they won't teach you how to organize your code so that it's clean and easily changed.
Calyth
I disagree. Math majors are in high demand in the software industry - higher than CS majors, at least where I am. It's much easier to train a math major to program than to train a CS major to understand abstract mathematical concepts.Then again, I guess I'm pretty much on the new frontiers and abstract development side of the field. But, if you want to have influence, a maths major is better in my opinion. Probably followed by a more abstract CS PhD.
RD1
+6  A: 

I would look into getting a degree in CS and a minor in mathematics. It is only about 3 additional courses in most colleges that involve calculus 3, some form of linear algebra, and one other course.

That is what I liked about CS the fact that most of it was math!

JonH
This is the same route I pursued while I was in college ten years ago.
Michael Kniskern
At the college I attended for CS getting a minor in mathematics only required filling out a piece of paperwork at the registrars office.
LanceSc
+3  A: 

It's been 10 years since I graduated from undergrad with Bachelor's in both Math and CS. All of my math past algebra has been rarely used in any of my programming, whereas the CS courses have helped a lot, of course. However, for my first job interview (an internship, actually, which turned into my first job), my employer was looking for anyone with a physics, math, or hard science major.

You will most likely be required to take several pre-req courses in CS in order to get into CS grad school. Even with a CS degree, I was missing one or two pre-reqs for the master's program at the University of Illinois.

I rarely program outside of work, and I didn't really program that much "for fun" when I was younger. You should, however, think hard about whether you do indeed have some interest / passion for programming. On the flip side, I would think there are many more jobs which are easier to find that utilize a CS degree than a math degree.

Matt Hamsmith
+3  A: 
  • Do something to figure out what you want to do as soon as you can. (Maybe http://www.careerdirectonline.org/?)
  • Until then, take only classes that work for both majors.
  • Write as much software as you can to see if you really like it.
  • See if there's a job that you really want to do somewhere, then figure out what you need to learn in order to do it.
John Fisher
A: 

Well, all I can do is give you my own experience:

I don't have a BA in CS, but I work as a software engineer and I'm in a program for a master degree in CS in the Harvard extension school. I probably couldn't get into a regular CS master program with my BA (in Fine Arts, long story :), but I like programming and it's what I do for a living. Like you said, I think the most important part is the passion, if you like it enough.

Tamar
+2  A: 

Your most important considerations should be what you enjoy more and what you're better at: math (which is not about calculating at all at university level) or CS (which is not just about programming).

I started out studying math because I had this image of CS and programming as a reclusive, anti-social activity, and because I also got A+ at in math in school. I got quite a shock when I realized that university-level math had absolutely nothing to do with school math - it was, an endless succession of definitions, theorems and proofs, with practical applicability often not mentioned once during an entire class, and required a kind of thinking I found very hard.

In contrast, I was doing very well in my CS minor, found algorithms and data structures much easier to understand (interestingly, one math prof told me that math majors had problems with those) and also learned that my image of programming was at most half-true - and that I actually enjoyed it.

Michael Borgwardt
+4  A: 

Well, being that I have a Math degree and a job as a developer I can say it's certainly possible to get a CS/programming job with a Math degree. However a math degree alone doesn't guarantee you are able to program ( depending on your college / selected course it may be possible to get through your degree with minimal to no CS related material ) so you'd need to either take some CS course on the side - or at minimum collect the related certifications - (i.e. Java or Microsoft, or whatever) that show the employers that yes, you actually can write a computer program.

Streklin
A: 

It depends on what you want to do in the future. If you are interested in data mining, image processing, pattern recognition/machine learning, it would be beneficial to have a very strong background in math with some some computational sense (although large scale data mining requires much more computational knowledge).

That being said, both are important and it really depends on where you want to go in your career.

nick
Real-world image processing requires more computer science and electronics than maths (you can't put Matlab in everything).
Danny Varod
+1  A: 

How about a degree in Software Engineering or Computer Engineering instead? Computer Science degrees offer a lot more relevant courses than a Mathematics degree (Data Structures, Operating Systems, Object Oriented Programming and many others), but a more practical degree that includes projects and the Engineering aspect provides a wider and more solid background. The difference in the degree could also affect future salaries.

Danny Varod
+1  A: 

Some schools offer Math and Computer Science degrees that are tightly related. I went to the University of Iowa and Computer Science and Math are in a single program called the Division of Mathematical Sciences (DivMS). You could easily achieve a CS and Math degree. If you attempt at a CS degree you would only need to take a few additional classes and would quality for both degrees.

Every academic program is a bit different. I would recommend talking to your academic advisor about what it would take to aquire both. I would wager you aren't the first person to ask this question.

sgmeyer
+1  A: 

I have a combined degree of computer science and mathematics from the university of british columbia. It's actually an honours degree and I can tell you that

  1. My overall average for CS courses is about 95%
  2. My overall average for Math courses is probably 80%

and the ration of time spent learning CS concepts to Math concepts is about 5% to 95%. Math is an extremely rich, complex and absolutely rewarding area of study. I easilly spent 20-30 hours a week on math homework problems, and I actually enjoyed it. Similarily, I spent maybe 5-6 hours every week and a half on my CS related courses and really enjoyed that too. What was great for me was that I could choose how much of my time I wanted to split amongst these two subjects that really interested me.

The nice thing about a split degree the CS part of it is the practical applications part. You get to see all the great theory that you learn in Math applied. As time goes on, you soon realize that the theory used in certain applications exceeds your knowledge, hence you want to study math more.

This is my experience.

ldog
A: 

I've never had anyone blink in a programming-related interview when I said I had a degree in Mathematics rather than CS. I've also interviewed plenty of people for programming jobs, and most of the time the specific degree isn't as important as having a technical degree of some kind and an aptitude for the work. Companies who hire straight out of college [should] know that the first 3-12 months is training - learning the particular company's systems and practices.

I expect that you may have a hard time getting into a CS master's program if you have no CS at all. Get a minor at least. Read up on the requirements for entry into the program. But you're also only 18, you might decide to be a painter in a year. Like one of my profs told me: "major in something that you love, 'cause it sucks to be an expert in something you hate." (I'm not sure which category he fell into :)

Fun fact: there are basically 3 jobs for the "professional" mathematicians: the Statistician, the Teacher, or the Maker of Missles for Blowing Up People. Also - don't expect to be a "professional" mathematician without a doctorate (unless you want to teach, which might only require a Master's).

Edit: I forgot to add that the Mathematics degree has the additional benefit of inspiring awe in normal humans. I doubt a compsci degree will every garner the same respect - most people hate their computers :)

Seth
+5  A: 

I'm a professional software developer. Software is my passion. Programming is my love. My degree is in mathematics and I wouldn't change it.

Here's the thing. In computer science, you'll learn problem solving, algorithms and programming languages, but in mathematics you'll learn the algorithms of nature and the language she speaks. Mathematicians can comprehend sophisticated problems and discussions in any scientific field where others can't. We see beauty and elegance where others don't and that makes all the difference.

My world is infinitely more beautiful thanks to my knowing nature's language, mathematics.

As for the job situation, luckily, the math degree told recruiters I was smart enough for an interview. The work I'd done on my own to learn Java, C# and Python was enough to demonstrate that I knew how to do the job. I hope you have the same luck.

Travis Heseman
A: 

You should major in whatever interests you the most.

...But also be thinking about what you are going to do to make some scratch out of school. Want to major in math? Sure, but either A.) resign yourself to the fact that you'll probably be starting your career at Starbucks and living at your parents' or B.) have some sort of angle to be able to tell potential employers about what you can bring to the table. This probably means outside projects.

Vocational degrees are overrated and a solid, diverse liberal education is underrated so learn whatever tickles your fancy. Of course if you're only in it for the salary, you are doomed either way.

temp2290
Math and computer science both interest me. It's difficult to say which interests me more.Since it's so difficult to figure out in advance whether I'm going to like a career or not, it makes sense to aim for a high salary first, since that will give me more options down the road.
John Maxwell IV
+1  A: 

I double majored in CS and Math, and I now teach in CS at a major university. I would say that if you want to keep your options open, a focus on Math will work better. Many people make the transition from Math to computer science by learning the programming themselves, but very few manage the other way without returning to study.

RD1