## 28 Replies - 4016 Views - Last Post: 21 May 2009 - 06:17 PM

### #1

# Math in a Computer Science degree

Posted 26 March 2009 - 06:45 PM

For those of you majoring (or with a degree) in Computer Science...

- How maths centric are the selection of classes your taking?

- Is your maths knowledge used in your computing classes?

- Would you say you are mathematically minded?

I will be starting at college soon, and will be majoring in Computer Science. I'm very ahead in most technical aspects, and don't see myself having any trouble with any computing classes.

But I've never had that much interest in maths classes, and it doesn't really come that naturally to me. I'm a pretty weird person . I describe myself as conceptually and logically oriented rather than computationally oriented. Would anyone put themselves in a similar category?

It seems that universities stress a lot of mathematics because the believe it is necessary for a career in computing. However, all of my professional experience points in the opposite direction. I've found that in software development it is much more important to be able to develop appropriate solutions and communicate effectively. Do you agree?

In short.. I'd like to discuss the level of maths in a Computer Science degree

Thanks!

- How maths centric are the selection of classes your taking?

- Is your maths knowledge used in your computing classes?

- Would you say you are mathematically minded?

I will be starting at college soon, and will be majoring in Computer Science. I'm very ahead in most technical aspects, and don't see myself having any trouble with any computing classes.

But I've never had that much interest in maths classes, and it doesn't really come that naturally to me. I'm a pretty weird person . I describe myself as conceptually and logically oriented rather than computationally oriented. Would anyone put themselves in a similar category?

It seems that universities stress a lot of mathematics because the believe it is necessary for a career in computing. However, all of my professional experience points in the opposite direction. I've found that in software development it is much more important to be able to develop appropriate solutions and communicate effectively. Do you agree?

In short.. I'd like to discuss the level of maths in a Computer Science degree

Thanks!

##
**Replies To:** Math in a Computer Science degree

### #2

## Re: Math in a Computer Science degree

Posted 26 March 2009 - 07:52 PM

Well I can say that I really enjoy math. Primarily for the necessity to build a precise algorithm to solve a problem. And that is one of the requirements for a career in software development. I look at math as a way to think rather than a studying material. Math just represents all the sets of relationships between numbers. And if you can apply the same way of thinking in software development, that pretty much is the foundation for the vast majority of skills.

### #3

## Re: Math in a Computer Science degree

Posted 26 March 2009 - 11:53 PM

I am taking physics, calculus, and discrete math right now.

My college requires me to take several "natural sciences" even though I am a computer science major (hence the physics).

Calculus is pretty much a prerequisite for any other math class.

Discrete is real "computer science math".

Basically whether you like it or not, you are going to have to take a lot of math classes if you want to major in anything with the word "science" in it. As long as you work hard you will get through it.

My college requires me to take several "natural sciences" even though I am a computer science major (hence the physics).

Calculus is pretty much a prerequisite for any other math class.

Discrete is real "computer science math".

Basically whether you like it or not, you are going to have to take a lot of math classes if you want to major in anything with the word "science" in it. As long as you work hard you will get through it.

### #4

## Re: Math in a Computer Science degree

Posted 27 March 2009 - 08:36 AM

i agree with the above posts and i believe that math is necessary for computer science if you want to be a "good" programmer and come up with "efficient" ways for solving a problem. besides math really helps in solving problems of various subjects

### #6

## Re: Math in a Computer Science degree

Posted 27 March 2009 - 10:44 AM

c0mrade, on 26 Mar, 2009 - 07:45 PM, said:

Would you say you are mathematically minded?

No, not even a little. Logically minded, sure. Good at breaking things down and building them up, yeah. I refactor in my sleep.

Computer Science started out at most universities as a mathematical discipline. Most early computer types were math types, because they saw the most immediate application for the things. People believed that computers were destined to live on college campuses and research facilities. The broad range of application only became apparent later.

Ironically, computers aren't real good at math, they're good doing certain operations really fast. These operations are sequential and use simple logic. You don't need higher math to do them. Computer programs don't require math beyond boolean and bean counting, unless of course the program itself deals with mathematics.

Today computers are their own discipline, but the cold hand of calculus still looms like a specter, slaying many potential programmers before they can even spread their wings.

Will math help? Of course. Is it required? For some applications it is a must. Game engines, for instance, lean heavily on linear algebra, among other things. Rendering anything in 3D space will get your matrix flowing. But most programmers don't write games or other specialize things.

For the day to day work: designing systems that interact with people, writing applications that fulfill specific business needs, solving all the problems programmers are called to solve; math almost never rises above the algebra level.

Math folks believe that math is the lingua franca of the universe. They'll tell you how it's required to do almost anything. You can find higher math in a flying football, but I'm pretty sure the guy who launched it wasn't thinking about that.

Please do not let math stop you from being a computer programmer, if that's what you want to do.

### #7

## Re: Math in a Computer Science degree

Posted 27 March 2009 - 09:42 PM

Thanks for the insightful replies

Thanks, it's encouraging to hear that you seem to think in the same way I do.

Ok, my opinion is exactly the opposite to yours; but that's a good thing, it's what I wanted. Are you still in uni/college? Can you qualify what makes a "good" programmer?

Could you give examples?

I know a lot of people who seem to think the same way you do mostlyfriedman. I'm interested to hear your side.

baavgai said:

No, not even a little. Logically minded, sure. Good at breaking things down and building them up, yeah. I refactor in my sleep.

Thanks, it's encouraging to hear that you seem to think in the same way I do.

mostlyfriedman said:

i believe that math is necessary for computer science if you want to be a "good" programmer and come up with "efficient" ways for solving a problem.

Ok, my opinion is exactly the opposite to yours; but that's a good thing, it's what I wanted. Are you still in uni/college? Can you qualify what makes a "good" programmer?

mostlyfriedman said:

math really helps in solving problems of various subjects

Could you give examples?

I know a lot of people who seem to think the same way you do mostlyfriedman. I'm interested to hear your side.

### #8

## Re: Math in a Computer Science degree

Posted 27 March 2009 - 09:50 PM

Personally I went with the degree in Mathematics because the CS stuff was easy but it was the mathematics I found challenging. So I challenged myself.

I took nearly every math class that the school offered while I was there. All of my "free electives" were math classes, and I actually ended up with quite a few math credits that didn't count towards my degree. -- Of course, I like the challenge, and I love math.

I suppose that you can get by without a lot of math... but all of the really interesting stuff requires math.

I took nearly every math class that the school offered while I was there. All of my "free electives" were math classes, and I actually ended up with quite a few math credits that didn't count towards my degree. -- Of course, I like the challenge, and I love math.

I suppose that you can get by without a lot of math... but all of the really interesting stuff requires math.

### #9

## Re: Math in a Computer Science degree

Posted 27 March 2009 - 10:11 PM

### #10

### #11

## Re: Math in a Computer Science degree

Posted 27 March 2009 - 10:37 PM

But that aside... what is interesting:

Computer Graphics: Math galore. You can't put a pixel on the screen without using the Cartesian coordinate system. Even simple things like moving a sprite along a strait line require concepts like interpolation. The more interesting the effect the more complex the mathematics.

AI: OMG abstract mathematics all over the place. Have you ever opened a book on Bayesian statistics, Neural networks, Fuzzy Logic, or even simple AI systems like Finite State Machines, minimax algorithm, even Expert systems have a rich mathematical background.

DataBases -- Oh sure you can be a DBA without knowing Lattice theory or Vector spaces... but if you really want to work in the field of new databases, or expect to understand the technologies coming down the pipeline integrating concepts like fuzzy search and dynamic classifications, ontologies etc. -- you had better pick up a math book on Graph Theory and Linear Algebra.

Network Optimization -- want your web app to run faster than your compedaters, want to work on better server farms, more efficient download protocols? Better pick up the calculus book, that graph theory book, that Linear algebra book, and while you are at it, make sure you are familer with the topology book too...

Concurrency -- Want to make use of the new multi-core and massively multi-core and cloud computers of the future... again, better pick up some math books. Just understanding vector algorithms makes my brain cry and I have the background to understand them. -- where in the past only programmers working on super computers needed to know this stuff, in the next few years your home PC will have more processor cores than the entry level super computer today (which starts at a mere 16).

and that is just stuff off the top of my head

Computer Graphics: Math galore. You can't put a pixel on the screen without using the Cartesian coordinate system. Even simple things like moving a sprite along a strait line require concepts like interpolation. The more interesting the effect the more complex the mathematics.

AI: OMG abstract mathematics all over the place. Have you ever opened a book on Bayesian statistics, Neural networks, Fuzzy Logic, or even simple AI systems like Finite State Machines, minimax algorithm, even Expert systems have a rich mathematical background.

DataBases -- Oh sure you can be a DBA without knowing Lattice theory or Vector spaces... but if you really want to work in the field of new databases, or expect to understand the technologies coming down the pipeline integrating concepts like fuzzy search and dynamic classifications, ontologies etc. -- you had better pick up a math book on Graph Theory and Linear Algebra.

Network Optimization -- want your web app to run faster than your compedaters, want to work on better server farms, more efficient download protocols? Better pick up the calculus book, that graph theory book, that Linear algebra book, and while you are at it, make sure you are familer with the topology book too...

Concurrency -- Want to make use of the new multi-core and massively multi-core and cloud computers of the future... again, better pick up some math books. Just understanding vector algorithms makes my brain cry and I have the background to understand them. -- where in the past only programmers working on super computers needed to know this stuff, in the next few years your home PC will have more processor cores than the entry level super computer today (which starts at a mere 16).

and that is just stuff off the top of my head

### #12

## Re: Math in a Computer Science degree

Posted 28 March 2009 - 06:43 AM

Come on NickDMax..don't scare people off for nothing. Sure you'll need these kinds of maths if you want to build your own database from scratch, or design your own network protocols... but seriously, how many people in CS actually end up challenging the likes of Oracle or existing protocols? I agree, though, that maths is deeply ingrained into many of these topics, but you'll probably only need them later on, and only if you become interested in them.

I failed maths at the high school level. I loved computing. I never studied physics/chemistry/biology (and genetics) in my entire life. I went to college, took a computer science degree, learned all I needed to know when I needed to know them.

In spite of this, Computer Science is not "the easy stuff". I've seen many people who take engineering courses or science courses (including maths) who claim that they chose their course because CS was easy. This is not true. A CS course is rich in the diversity of knowledge that you gain. Where I come from, a CS course requires us to take physics, chemistry, biology, mathematics, and now, even business classes. As a computer scientist, we need to be able to understand the different subjects because in the end, the code that we write will be to solve problems for companies in these various industries. I've seen such people with such claims writing monolithic code because they didn't have the skills necessary to design and architect a proper software system and integrate them with the hardware.

You'll excel, as long as you have the interest.

I failed maths at the high school level. I loved computing. I never studied physics/chemistry/biology (and genetics) in my entire life. I went to college, took a computer science degree, learned all I needed to know when I needed to know them.

In spite of this, Computer Science is not "the easy stuff". I've seen many people who take engineering courses or science courses (including maths) who claim that they chose their course because CS was easy. This is not true. A CS course is rich in the diversity of knowledge that you gain. Where I come from, a CS course requires us to take physics, chemistry, biology, mathematics, and now, even business classes. As a computer scientist, we need to be able to understand the different subjects because in the end, the code that we write will be to solve problems for companies in these various industries. I've seen such people with such claims writing monolithic code because they didn't have the skills necessary to design and architect a proper software system and integrate them with the hardware.

You'll excel, as long as you have the interest.

### #13

## Re: Math in a Computer Science degree

Posted 28 March 2009 - 07:03 AM

Quote

Come on NickDMax..don't scare people off for nothing.

It is true that you do not need to know very much math to do any of that stuff -- someone else will do the hard parts for you and put it in a library. Being a programmer is more about solving problems with the tools at hand then it is about mathematical proofs. -- Most professional programmers (myself included) don't get much past High school algebra (and a little graph theory thrown in).

Quote

In spite of this, Computer Science is not "the easy stuff".

Now both fields have their depths, there are parts of CS that really make by brain hurt. Vector computing is one. Sure nothing all that hard on the surface, but when you multiply that little complexity by 1000's of simultaneous operations my head has a hard time scaling. Genetic algorithms look to me to be pretty simple in theory but after only a few steps in the that direction I was in over my head.

I really don't mean to scare anyone away from CS -- because there is a big diferance between being a computer scientist and being a programmer/developer. Developers use the tools that they have to solve problems. Computer scientists (at least in theory) try to discover new tools and better tools. And just as "armature" inventors often surprise physicists -- developers often surprise computer scientists.

Developers only really need to have an understanding of how the tools work, and which ones are useful in what situations. They do not have to know all the ins-and-outs of how to make the tools and prove their validity and their efficiency.

Quote

You'll excel, as long as you have the interest.

### #14

## Re: Math in a Computer Science degree

Posted 28 March 2009 - 07:04 AM

i am actually still a student in college, and i know that math definitely makes a difference, especially discrete math and number theory. for example if you know proof techniques, then this will help you prove that your algorithm will work on an infinite series, also artificial intelligence requires lots of math and game programming also requires a lot of math. Theory of computation and complexity theory requires a lot of math as well...bottom line all the "serious" fields of computer science require a fair knowledge of math, you don't necessarily have to be a guru though.. you can still get through without a lot of mathematical knowledge but the more math you know the better.

### #15

## Re: Math in a Computer Science degree

Posted 28 March 2009 - 07:17 AM

IMO -- there is no reason why someone who hates math can not become a wonderful programmer -- It just takes work. And if you have an interest in the subject that the math might be tough to get though, but the end result is all worth it.

And just like the amature inventor who may not know all the physics behind his latest whirrlygig -- a programmer can have some wonderful mathematical theory laying just below the surface of his new cool application. You don't really HAVE to know the theory behind something to make it work.

(I was working with FSM's long before I knew what they were).

And just like the amature inventor who may not know all the physics behind his latest whirrlygig -- a programmer can have some wonderful mathematical theory laying just below the surface of his new cool application. You don't really HAVE to know the theory behind something to make it work.

(I was working with FSM's long before I knew what they were).

### #16

## Re: Math in a Computer Science degree

Posted 28 March 2009 - 07:20 AM

Quote

I beg to differ. I think CS actually is "the easy stuff" -- its trivial. Programming is dead easy (at least for me). It is the mathematics behind it that is non-trivial. -- But note that when I call it the "easy stuff" I am referring to my own experience. I find chemistry to down right hard (neigh impossible), but I know lots of people who think chemistry is dead easy.

Come on! Cut us CS majors some slack man! CS isn't all about programming..it's a lot more!

There are programming classes in CS, and those are really really super duper easy, but there are only like 2 or 3 such classes, if I recall.

Hmmm...I think many people have the wrong perception of CS. CS is really a very vast and diverse course incorporating many disciplines. It is definitely wrong to say that CS = programming and that CS majors = programmers. Like I always say whenever people tell me things like "I took engineering because CS was easy". I'd just tell them "to each his own".

Quote

IMO -- there is no reason why someone who hates math can not become a wonderful programmer -- It just takes work. And if you have an interest in the subject that the math might be tough to get though, but the end result is all worth it.

And just like the amature inventor who may not know all the physics behind his latest whirrlygig -- a programmer can have some wonderful mathematical theory laying just below the surface of his new cool application. You don't really HAVE to know the theory behind something to make it work.

(I was working with FSM's long before I knew what they were).

And just like the amature inventor who may not know all the physics behind his latest whirrlygig -- a programmer can have some wonderful mathematical theory laying just below the surface of his new cool application. You don't really HAVE to know the theory behind something to make it work.

(I was working with FSM's long before I knew what they were).

Agreed!

... I hope I'm not starting any "wars"..

This post has been edited by **bryanchen**: 28 March 2009 - 07:21 AM