 how are these subjects of mathematics are related with computer science and why are they required if you want to be a computer scientist:
1.linear algebra
2.single variable calculus and differential
calculus of several variables
3.theory of probability and probabilistic systems analysis
4.mathematical analysis
5.matrix theory
6.discrete mathematics

## Recommended Answers

It is possible that these courses teach you problem solving skills and logical though patterns.

Many different mathematically problems come up when developing computer software, and hardware.

Now this is my assumption based on my education and experience with the courses you have mentioned.

My two cents...

15 years in the computer/electronics industry, and the only thing I have used is algebra

let's put linear algebra with matrix, since they're the same branch...
need em for computer graphics (at the very basic level: transforming an object), solving system of equations (eg. for engineering) etc.

math analysis... do you mean numerical analysis. If yes then it's needed for any calculation that cannot …

o.O

Programming IS math, n00b.

Quit whining and do your homework.

I reckon it's much like learning Latin o'l boy. It's not immediately useful, but it develops a muscle (sometimes called the brain) in a certain way. That becomes apparent later on.

## All 24 Replies

It is possible that these courses teach you problem solving skills and logical though patterns.

Many different mathematically problems come up when developing computer software, and hardware.

Now this is my assumption based on my education and experience with the courses you have mentioned.

My two cents...

15 years in the computer/electronics industry, and the only thing I have used is algebra

let's put linear algebra with matrix, since they're the same branch...
need em for computer graphics (at the very basic level: transforming an object), solving system of equations (eg. for engineering) etc.

math analysis... do you mean numerical analysis. If yes then it's needed for any calculation that cannot be done analytically (ie. cannot get an exact answer) so you need to get approximated value.

calculus...
basically everything! From analysing efficiency of algorithms to Fourier series (used in digital signal processing... or somethin like that)

probability...
data communication and network... It's because there's too much probability theory involved that I didn't take that course!

discrete math...
another topic I loathe. but you need that for logic, graph theory, etc etc.

Sigh. see how little I could recall. what have I done these two years!? Oh and I *hate* to do PROOFS!

o.O

Programming IS math, n00b.

Quit whining and do your homework.

I've gotta agree. Programming does encompass a lot of math. However, I still don't see why us as comp. sci. majors have to take all of these darn courses - organic chemistry, for heaven's sake, isn't really going to help us with discrete math!

I've gotta agree. Programming does encompass a lot of math. However, I still don't see why us as comp. sci. majors have to take all of these darn courses - organic chemistry, for heaven's sake, isn't really going to help us with discrete math!

I never had to take organic chemistry for my CS degree??

how are these subjects of mathematics are related with computer science and why are they required if you want to be a computer scientist:
1.linear algebra
2.single variable calculus and differential
calculus of several variables
3.theory of probability and probabilistic systems analysis
4.mathematical analysis
5.matrix theory
6.discrete mathematics

linear algebra:

it's fun! linear algebra is so unbelievably useful and important, seele definitely touched on the most important aspect of it for a general computer scientist: solving systems of equations; determinates are a godsend :) number one use for any scientist I think is: best-fit lines; knowing this gives you that extra couple points on a report (well unless you cheat and use gnuplot or your calculator).

calculus:

dude, if you understand calculus you have running time analysis under your belt. all that big-oh shit; calculus. you need calculus because you need to understand the function, whatever that function may be. Computer science is all about functions of growth and asmyptotic boundries.

probability:

if you want to understand an algorithm that uses a random seed (say quicksort for a pivot selection), probability is a must when analyzing average performance.

amortized complexity:

one of the best concepts since deoderant. knowing the running time of your worst case sequence of your search algorithm is O(1) will get you the big bucks *grin* (joke)

discreate mathematics:

logic is our friend. i love proofs, especially your standard issue discreet mathematics proofs; they keep you sharp like cross word puzzles.

i think in the end, almost all the above math is bundled up into graph theory and its problems.

I think CS is just algebra, but I am studing for a engineering degree and the only subject the matters is Calculus. I don't think Calculus isn't applied anywhere outside of engineering. So why is it required for CS. "The world will never know." LOL

Other people had to suffer by taking it, so they want us to suffer as well. I never hear a CS student who's in the process of getting their degree comment on how beautiful CS/Math is... that is until they graduate. Then and only then will they comment on how exciting, rewarding, and fun it was. Some even brag about how easy it was over exaggerating. Of course they can say that, the nightmare is over! They don't have to take it anymore! ;)

There is one thing that discreet mathematics, number theory is actually useful, RSA encryption algorithms are based off all that theory actually very interesting stuff too. Depending on what your programming you would use the other stuff too, for example your doing a physics simulation of say wave mechanics or something like that, you would use calculus to solve these problems.

Dani, I can't believe you did chem. You should've join me in physics.

I reckon it's much like learning Latin o'l boy. It's not immediately useful, but it develops a muscle (sometimes called the brain) in a certain way. That becomes apparent later on.

the only way a computer can understand anything is mathematically, so for a program to implement a solution to any program, he/she needs to approach it mathematically.

If you do games, graphics, or simulations (most notably ones based on physics & scientific calcs), you're gonna need a lot more than just algebra.

If you're going to be a data miner, you may not. I've seen some pretty hefty trig applied to queries, though. It was mainly phd work, but I believe google uses similar techniques.

I used to agree about o-chem. It's pretty useless to me these days for anything other than witty trivia. I actually asked my advisor about why we had to take stupid unapplicable classes like that. He said because they're based on abstract thought and problem solving. Well, I use abstract thought and problem solving every day now, so I say it was time well spent. Were you to work solely on textbook CS problems, you'd become a repeater, most likely, and innovate very little. Studying in other fields helps you "break the mold", so to speak.

the only way a computer can understand anything is mathematically, so for a program to implement a solution to any program, he/she needs to approach it mathematically.

Replace "mathematically" w/ "analytically", and you'd be correct. Computers do not innately understand math. They understand boolean logic.

Best class I ever took in college was a class in formal logic.

Socrates is a man
A man is mortal
therefore, Socrates dresses as a woman to live forever.

Or, something like that. It's been a while.

I basically agree about the math classes being somewhat useful, but I took all the good math in High School (Algebra, Trig, Calc) and the stuff in college seemed mainly as a way of keeping math professors employed. Sure its useful for some fields, but not for most CS folks.

If we dont study those bundle of subjects ... then what will be the difference between a computer mechanic and a computer engineer ... LOL :p :cheesy:

Hoping that someone might read this...

I am getting ready to start a degree is CIS at U of M and they offer a concurrent math degree. Could anyone tell me if holding those two degrees would make me any more "marketable" towards employers? I already plan on and have taken quite a bit of math anyways, but to get the second degree I would have to take something like 7 more classes - on top of the other math classes I already have. Is it worth it? Just to give anyone an idea... Discrete Structures & Matrix Algebra are already included to get the CIS degree; so the other 7 sound like some advanced cources.

Thanks for the help(hopefully)
Nate

HI, New to Daniweb!

Willing to be a Game/Server Programmer but I'm lost in Math!
Can you tell me all what I have to learn in mathematics and the Necessery mathematics(Algebra, Matrix, Bool Logic, etc..) so I can start studing seriously.
Answering me will be real great for my future.
Thanks

Babidi

Chemistry- and organic chemistry? Well who knows , it might come in handy if say u have to program medical/diagnostics instruments or machineries/computers! LOL

In my university it has made chemistry( inorganic) as a core course for CS degree(damn them). All my friends have already taken it and i m the only one in my batch not to take it yet(yeah i m a bit headstrong). I really really dont want to take it. Chemistry requires u to memorize a lot of things and that's such a pain in the ass. I rather put the effort into harnessing my programming skills or maybe math.

Questions like "why is math so important in CS" indicates how far we have derailed from pure computer science. CS used to be a pure scientific subject and now it has been so commercialized that we dont even realize that computer science had in fact been invented for mathematical interest. Now people major in CS and business altogether because they want to use CS for business not for the sake of scientific interest whatsoever. I personally would like to think CS is no less in scientific importance than subjects like Neurology, physics, astronomy etc. Such a pity that CS has become so commercialized and looks somewhat cheap.

Discrete math is probably the single most important CS class i have taken, for examining algorithms... but im still trying to figure out how biology fits into the picture

It must be an American thing I guess. I have a degree in Maths from a UK University, so guess what subjects I studied, just Maths! All of my Lecture courses for 3 years were Maths based thats why its a degree in Maths. Why would I need to do any other subjests?

I'm currently doing a part-time degree in Computing and guess what. All of my modules are Computing based! What's the point in doing a degree in something if you're going to be asked to study totally random subjects?

Things like Science, Languages, Problem Solving and Essay Writing I learnt at Secondary School.

Whereas at University we did things like 'Vectors and Mechanics', 'Analysis of Metric Spaces', 'Algebraic Topology' and 'Fluid Mechanics'. All fun stuff! :p

Cheers
Amos

Do you know in advance what kind of job you will get?

I couldn't have imagined that I would become a lab engineer. And I couldn't do my job without any of these:

1.linear algebra

In order to get the computer to do the calculation I want, I often have to use algebra to find the correct formula to enter, because often I am calculating a different variable than the one the textbook formula is solved for. Example: f = m * a (force equals mass times acceleration). I know the force and the mass.

Solving systems of equations is essential to any scientific or business computing. Systems of inequalities are even more useful. And the matrix makes these easy for both a human and a computer to do.

2.single variable calculus and differential calculus of several variables

If you can do calculus, you can solve many kinds of problems which otherwise cannot be solved. As an example, I adapted the mathematics behind the velocity trip device in a record changer to detecting the time of onset of an electromyograph signal. My program for that uses differential calculus. And I do integral calculus even more often when I integrate data over time.

3.theory of probability and probabilistic systems analysis
4.mathematical analysis
5.matrix theory
6.discrete mathematics

These were all in one class here. It was also the "culling class" for both the School of Business and the School of Education. Nobody who got lower than a "C" in this class could enter either school. It is great at teaching problem solving, which is why it was used.

I used to teach the class.

All scientific research depends on probabilities in one way or another. It is also used in business forecasting. And of course, all statistical studies depend on probabilities.

Matrix theory is also the theory of computer arrays. Many video display or editing algorithms also use matrices. And we wouldn't have had surround sound on video tape or on CDs without the matrix.

I used the probability knowledge to figure out the Publisher's Clearinghouse Sweepstakes: You are ahead in expected value until you put the stamp on the envelope. In other words, if you somehow got all of the entry forms and sent them all in (guaranteeing that you would win), the stamps would cost you more than you would win. Likewise, buying lottery tickets with all possible numbers would cost more than you could win.

Even sports uses probability theory. Which is larger, the number of possible finishing orders for the 33 cars in the Indianapolis 500, or the number of possible positions a Rubik's Cube can be turned to? You'd be surprised. And how do they figure the payoff odds at the Kentucky Derby?

I also used the probability, analysis, and discrete mathematics to prove that the Plurality Voting System now used for US elections is biased if more than two candidates run. Then I used the matrix theory to test other voting methods, and concluded that Independent Voting is the only fair electiuon system.

I would actually add some more courses which should be essential for the programmer:

7. Trigonometry
8. Physics.

With these, plus the others, you can understand how stuff works. Then you can program the computer to simulate it.

I think CS is just algebra, but I am studing for a engineering degree and the only subject the matters is Calculus. I don't think Calculus isn't applied anywhere outside of engineering. So why is it required for CS. "The world will never know." LOL

Calculus is used for all kinds of things.

- I use a rudimentary form of analog calculus when driving, to figure the friction needed to make the maneuver (helpful during icy weather).

- Your car does analog calculus when displaying the speed (differentiation) and the number of miles traveled (integration).

- A record changer does mechanical numerical differentiation to check the speed of the pickup arm to figure out when the record is over (the arm speeds up).

- Almost every human being comes equipped with two built-in Fourrier Transform devices which let us hear not only rudimentary sounds and speech, but music having frequencies much higher than the frequency response of nerurons. They are our ears, and they do analog calculus.

- All human senses use logarithmic scales. We wouldn't know what a logarithm was without calculus.

- You should see all of the calculus involved in something as simple as a baseball being pitched (never mind the additional calculus added when the batter hits it). Air resistance, the Bernoulli effect, the wind, linear and rotational inertia, and gravity all are integrated over time, producing the actual velocity and spin of the ball.

- Out in space, they can't just point the spaceship where they want to go and run the engine. Gravity changes everything. That would most likely get you where you DON'T want to go. Calculus is essential to finding the correct thrust vector to achieve the desired result. And of course, when they get there, slowing down is just as hard as speeding up originally was.

Would it surprise you to learn that, to increase the number of orbits per day your spacecraft makes around the earth, you have to point the engine exhaust in such a way that it slows you down?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.21 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.