# Mathematics or Computer Science (Programming)



## zoe (29 Nov 2009)

I'm considering the possibility of applying to study mathematics as a BSc, though I really don't know what I would do with it afterwards. I know I'm very interested in maths, though I don't really have any desire to become an accountant or a maths teacher.

I read that those interested in mathematics may enjoy programming.  Which is something I know nothing about.

If I did decide I'd like to learn about, as an example, C++, ASP.net, CSS, XHTML, HTML, would I be best to study mathematics as a BSc and also a part-time class specialising in such programming?

Or perhaps studying just a computer science BSc? I have looked at the modules of a possible computer science degree and the programming modules are:

1) Fundamentals of programming
2) Games programming
3) Software engineering
4) Concurrent programming
5) Programming language implementation

Perhaps these modules are not too in-depth and I'd be better studying BSc maths plus part-time programming classes?

Any ideas?  Thanks!


----------



## SillyBilly (29 Nov 2009)

Hi Zoe,

The University of Limerick has a mathematical sciences degree which includes a computer programming option in first year and then the option to specialise in computing if desired in 3rd and 4th year.

[broken link removed]

I'd imagine there must be similar combined maths and computing courses around the country?


----------



## dontaskme (29 Nov 2009)

If you really like computer programming you should be programming already in your spare time. The computer programmers I know who are serious about it get up in the morning thinking about programming, program all day long, go home in the evening and program for fun and then think about programming as they are falling asleep.  If you just want to do it because it sounds cool, then you should think of doing something else.  Also, on one hand it's relatively well paid and you could be earning good money within 3 or 4 years of leaving University but on the other it's a job with a high burn-out rate and knowledge quickly becomes obsolete. There aren't that many programmers in their 40s and 50s.  Personally I wouldn't recommend the University of Limerick whatever you decide to do.


----------



## z107 (29 Nov 2009)

> The computer programmers I know who are serious about it get up in the morning thinking about programming, program all day long, go home in the evening and program for fun and then think about programming as they are falling asleep.


lol! - I've often dreamt about really good algorithms as well  

Zoe - did you not do any programming at school?


----------



## zoe (29 Nov 2009)

umop3p!sdn said:


> Zoe - did you not do any programming at school?



No, unfortunately not.


----------



## truthseeker (30 Nov 2009)

Back in the days when I went to college it was actually physics I was interested in - but my course (Applied Science in DIT Kevin St with the BSc accredited by Trinity College Dublin), had a broad 1st year where I studied maths, physics and computer science (along with a language and accounting/business studies). I stuck with these options through the first 3 years and then in 4th year had an option to drop physics and take computer science and software engineering for my final year - so I did this, more for economic reasons than anything, the previous years physics students were having trouble getting jobs, those who'd done computer science and software engineering were inundated with job offers.

I never regretted the choices I made, however I do have 3 years of university physics under my belt with no mention of it on my degree and its something Ive often thought of re-studying just out of personal interest.

If youre at that point of not quite sure then go for something with a broad first year set of subjects - that way you will be able to get a taste of a few subjects and narrow it down to the things you enjoy later on.


----------



## zoe (30 Nov 2009)

truthseeker said:


> If youre at that point of not quite sure then go for something with a broad first year set of subjects - that way you will be able to get a taste of a few subjects and narrow it down to the things you enjoy later on.


Thank you _truthseeker_.  I think this is what I might possibly do and keep options open at the moment.  Thanks


----------



## Diziet (30 Nov 2009)

I would also advise going for a broad degree at the start, then specialising. Not all mathematicians make good programmers. Programming is sometimes more like linguistics than maths.


----------



## gearoid (1 Dec 2009)

dontaskme said:


> If you really like computer programming you should be programming already in your spare time. The computer programmers I know who are serious about it get up in the morning thinking about programming, program all day long, go home in the evening and program for fun and then think about programming as they are falling asleep.  If you just want to do it because it sounds cool, then you should think of doing something else.  Also, on one hand it's relatively well paid and you could be earning good money within 3 or 4 years of leaving University but on the other it's a job with a high burn-out rate and knowledge quickly becomes obsolete. There aren't that many programmers in their 40s and 50s.  Personally I wouldn't recommend the University of Limerick whatever you decide to do.



I think this is a very blinkered view of programming. I am a forty-something programmer with 16 years in the industry and I know a good deal of other forty year old and over programmers. Also, though I know your view is shared by joelonsoftware in his ten rules for hiring programmers, I don't think programming for fun should be a pre-condition for entry to an industry. Business skills and the ability to communicate effictively in both verbal and written form would be far more useful. The industry has grown beyond the stereotype of the highly left-brained sci-fi geek with questionable social and hygienic skills. Also the traditional programmer role is changing and there's a lot more configuration and componentisation than top-down programming now. To attract female entrants to the industry we need to get over the teenage geek image and move on. Certainly you should have a logical mind but very few people I know in the industry spend large amounts of time building their own application frameworks on top of their 9 to 5 job. The problems in IT for techies are a lack of official career development paths and the built in obsolescence of IT. You're right about the need to upgrade skills. I'm currently looking at moving into the world of Service Oriented architecture while keeping an archaic system going. It gets harder in your forties and fifties but it's because a lot of people find other priorities. A good programmer should always find work even if it isn't the old fashioned write everything in lower level C any more. Must go to bed now or I wont be able to program(me) in the morning! 

Good theoretical mathematicians should make excellent programmers so I say she should go the maths route if it suits her.


----------



## truthseeker (1 Dec 2009)

gearoid said:


> I think this is a very blinkered view of programming.


 
I agree, Im over 10 years in the industry, can program in a variety of different languages and NEVER spent any of my spare time programming for fun - why would I? I do it in work all day.


----------



## UFC (1 Dec 2009)

Do what you enjoy the most - maths.

If I were you I'd do a BSc followed by a Ph.D, and I'd get a really nice research job somewhere.


----------



## z107 (1 Dec 2009)

> Good theoretical mathematicians should make excellent programmers so I say she should go the maths route if it suits her.


Why? - They'd probably make better artists. I would say there could be more maths involved in art than in programming for a living.
Most (>90%) of dev work I do is database orientated. Basic arithmetic is all that is needed, even for Pension systems I've developed.

Many people just don't 'get it' when it comes to programming - like their brain has been wired differently.
I program at home because I enjoy programming. I also program at work.


----------



## truthseeker (1 Dec 2009)

umop3p!sdn said:


> Many people just don't 'get it' when it comes to programming - like their brain has been wired differently.


 
Im not sure I 'got' it until I started doing it for a living.


----------



## UFC (1 Dec 2009)

umop3p!sdn said:


> I would say there could be more maths involved in art than in programming for a living.
> Most (>90%) of dev work I do is database orientated. Basic arithmetic is all that is needed, even for Pension systems I've developed.


 
No offence, but most software developers are terrible. In my experience as a professional software tester (who happens to be maths educated) I've found the best programmers come from a physics/maths background. The tend to be better with detail, and in general, fairly smart.


----------



## dontaskme (1 Dec 2009)

gearoid said:


> I think this is a very blinkered view of programming. I am a forty-something programmer with 16 years in the industry and I know a good deal of other forty year old and over programmers. Also, though I know your view is shared by joelonsoftware in his ten rules for hiring programmers, I don't think programming for fun should be a pre-condition for entry to an industry. Business skills and the ability to communicate effictively in both verbal and written form would be far more useful. The industry has grown beyond the stereotype of the highly left-brained sci-fi geek with questionable social and hygienic skills. Also the traditional programmer role is changing and there's a lot more configuration and componentisation than top-down programming now. To attract female entrants to the industry we need to get over the teenage geek image and move on. Certainly you should have a logical mind but very few people I know in the industry spend large amounts of time building their own application frameworks on top of their 9 to 5 job. The problems in IT for techies are a lack of official career development paths and the built in obsolescence of IT. You're right about the need to upgrade skills. I'm currently looking at moving into the world of Service Oriented architecture while keeping an archaic system going. It gets harder in your forties and fifties but it's because a lot of people find other priorities. A good programmer should always find work even if it isn't the old fashioned write everything in lower level C any more. Must go to bed now or I wont be able to program(me) in the morning!
> 
> Good theoretical mathematicians should make excellent programmers so I say she should go the maths route if it suits her.


 
Ok, I was exaggerating, but I think the people who get the most out of it are those who love programming. 
[br][br]
It is a high stress career with constant deadlines and high job-insecurity and build-in obsolescence but the rewards are also there for innovators and entrepreneurs.
[br][br]
And rather than trying to correlate with mathematical skills, I reckon programming ability is inversely correlated with footballing skills


----------



## z107 (1 Dec 2009)

> No offence, but most software developers are terrible. In my experience as a professional software tester (who happens to be maths educated) I've found the best programmers come from a physics/maths background. The tend to be better with detail, and in general, fairly smart.


No offence taken.
I come from a statistics/computing background and am terrible at all team sports


----------



## LouisCribben (1 Dec 2009)

i work for an IT consultancy company. 

In my company, there is an increasing trend to outsource the programming to places like India where educated  computer science people work for salaries which are several times less than the average IT salary in the EU.  

The company I'm in tends to do the more high end IT jobs like specifying new systems, integrating systems, designing software, managing the relationship with clients, business analysis, IT consultancy, and a lot of the programming is passed on to cheaper countries, but managed by Europeans

Increasingly clients want the coding to be done offshore to save costs.  However for various reasons, there is still quite a bit of programming done locally (government contracts, and stuff which is not suitable to offshore)

Now here's what I think about what makes a good programmer. I don't think studying maths or computer science will make someone a good programmer. Bill Gates said he became a great programmer by looking at code which other people wrote. Bill never completed a degree. The important thing is that the person is smart, methodical, logical,a bit of imagination maybe, and you have to enjoy  it, and you have to enjoy problem solving.    You need to be thorough and organized, what you code needs to be 100% right, or else it's wrong. It's not a job for bull****ters. Computer programming is all about logic, and you can't teach someone logic.  Some of the best programmers come from other disciplines.  Also you need an aptitude and interest to understand systems and the real life problems which they solve. 
Computer projects are usually done in teams, so communication with team members is important.


----------



## tiger (2 Dec 2009)

Agree with the points above, a good programmer needs to be a good logical thinker.
In the past I've seen employers tend to go for people with good "analytical" degrees, e.g. maths, physics, engineering. Some of the Business/IT courses were a bit fluffy.
.


----------



## LouisCribben (2 Dec 2009)

tiger said:


> Agree with the points above, a good programmer needs to be a good logical thinker.
> In the past I've seen employers tend to go for people with good "analytical" degrees, e.g. maths, physics, engineering. Some of the Business/IT courses were a bit fluffy.
> .


 
Anyone who completes a degree in maths, physics, engineering has demonstrated to an employer that there is a high probability that they are smart.  A lot of subjects and projects  in maths, physics and engineering courses are technical, and to get through, being smart helps.

Business/IT courses may be less technical (or fluffy as tiger said), but that doesn't mean that the people doing these courses are less smart.

The point I'm making is that being good at programming does not depend so much on what you've studied, it depends more on how logically minded you are by nature.


----------



## dontaskme (2 Dec 2009)

LouisCribben said:


> Now here's what I think about what makes a good programmer. I don't think studying maths or computer science will make someone a good programmer. Bill Gates said he became a great programmer by looking at code which other people wrote. Bill never completed a degree. The important thing is that the person is smart, methodical, logical,a bit of imagination maybe, and you have to enjoy it, and you have to enjoy problem solving. You need to be thorough and organized, what you code needs to be 100% right, or else it's wrong. It's not a job for bull****ters. Computer programming is all about logic, and you can't teach someone logic. Some of the best programmers come from other disciplines. Also you need an aptitude and interest to understand systems and the real life problems which they solve.
> Computer projects are usually done in teams, so communication with team members is important.


 
It's debatable whether Bill Gates was a great programmer or not. He and Paul Allen outsourced the floating point number part of the code for their altair basic to another Harvard student. And when he started Microsoft he spent most of his time on the road drumming up business. I reckon Bill Gates's real super-important skills are/were client-facing: marketing, negotiation and licensing niceties. Ok, he was also a techie, but that was only one string to his bow.

The communication point you make is very important - studies have shown computer programmers spend 30-40% of their time on average talking to other developers.


----------



## gearoid (2 Dec 2009)

I think we've gone a bit off the point of the original post.

Mathematics is a broad area and could lead you into actuarial, finance e.g. option trading, economics (econometrics) and any number of other areas apart from computing. 

To me mathematics would always stand to you. 

I found the following article an interesting take on programming re outsourcing and redundant knowledge capital.

[broken link removed]


----------



## AlbacoreA (2 Dec 2009)

Its not useful to generalise theres lot of very different types of programmers. Some use maths a lot but most don't. 

Jobs that require a lot maths tend to be more specialised. You could do a BSc in one and do a MSc in the other.

A good programmer depends on the context. It maybe someone who solves a business problem quickly, perhaps without using any programming. Or it maybe someone who can solve complex programming problems regardless of the time taken. In a science/research context.

I know of one person who did Maths as their degree then a MSc in Computer science specialising in encryption. (I think). That said he worked as a regular programmer.


----------



## dontaskme (3 Dec 2009)

"Programming" is a very big catch-all term and the nature of the job is changing as the technology is changing. A lot of stuff is web-based nowadays which means there is a database back-end and this is a return to client-server as programming was done before the advent of the PC. And a typical project involves the integration of a lot of different technologies and this is where a computer science degree can be of more benefit than mathematics. But maths is a good broad foundation for a lot of things.


----------

