This topic is so dear to my heart that i have so many things to say about it, though little more than what arithma and AymanFarhat have already said and i couldn't have said it better myself. I'll try to keep it very simple.
Math is the foundation on which computer science is built. What's even better, is that everything that you do in life can be interpreted by simple formulas, whether walking, eating, drinking, playing or whatnot. For that matter, you can also throw in Physics for that matter as it is the essential core of rules in the universe.
Do you need to be good at math to be a successful Programmer? No.
Do you need to be good at math to be a successful Computer Scientist? Yes.
The three amazing things that were said in this topic are:
AymanFarhat wroteSo yes, there is a difference. If all what you are looking for is to develop websites, consume APIs, and write data driven programs in C# and link them to sql server databases, then you don't really need to be a computer scientist to do that, with hard work and dedication you can learn on your own.
arithma wroteSoftware Production can be detached from Computer Science.
and finally,
GN90 wroteone of our programing doc was like : "Math is the most important thing to evolve and go far" and his course started with some pure fucking logic math concepts that we somehow used in the extra he gave to the course.
GN90, you should applaud your professor for saying such a thing and acting upon it. At a certain point in your CS career you will start facing complex problems that can only be solved by applying math. For now, just take my word for it and focus on your math.
Truly folks, you are doing math without knowing it when you are programming, it's just that imperative programming shields you from having to perceive it as mathematical which is such a bad thing. Think of it this way.
function doSomething { for(i=0;i<10;i++) { //do something with i } }
wouldn't this be: f = Sigma(0 -> 10) g(i) where g = //do something with i ?
As simple as this might seem, it is proof that even control structures can be interpreted into mathematical formulas.
-
Yes, you will forget your math, hell you'll probably forget all of it if you're not following up with it. I forgot most of it, but as arithma said i can always derive.
Just the other day, rahmu and myself were having a discussion on Google Talk when he brought up a problem he solved. I tried to come up with a solution to it but failed. Incidentally he pointed out a few things and the solution just ringed a bell. It was a direct application of the Fibonacci series.
Although it is never that simple, you'll be needing math alot of times. Discreet Mathematics is the most you'll ever face followed closely by linear algebra, differential equations and multi dimensional calculus.
I do hope you understand how important this is, i do have several cases where i needed a math professor to help me solve a programming related task, but i'll save those for later. If you want some quick samples, you can take a look at
arithma's blog, do you think he was remotely capable of doing what he has done without applying strict physics and mathematical formulas? Does his work not apply in the real world?
Focus on your math and physics when you're in college, programming gets easy with practice.
Edit: You don't need to be a chef to eat food, but you need to be a chef to cook food.