Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Computer Science student seeking advice!
New Posts  All Forums:Forum Nav:

Computer Science student seeking advice! - Page 2

post #11 of 12
I graduated with a Computer Engineering degree from GA Tech. Take my words with a grain of salt since I wasn't a CS major (though the job I'm in right now is entirely coding/scripting), and I don't have as much experience algorithmic analysis as I would expect CS majors at my school did. Mine was more focused on physics, electromagnetics, logic circuits, etc etc etc.

Math isn't really that useful for any discipline, by itself. What you need to know is how to use math to get to a meaningful result. The most important thing is taking a problem and learning to break it down into little, calculable tidbits. However, there is a lot of groundwork to this, starting with Algebra. Being able to assign numbers to variables and understanding essentially what you're doing is really core for a programmer. You can't go without that.

Calculus and above (I've done Calc 1-3, DiffEQ, and discrete as far as pure math goes) deals with problems that need more specialized means of getting there, essentially. IE, you want to calculate the area under this curve (cumsum over a discrete space with infinite resolution iirc), you'll need to know how to do an integral. If you want to find out how this line changes at this point and find tangential planes and all that other jazz, you'll need differentiation.

Is this useful to a programmer? Not necessarily.

If you do any kind of design for a game it will probably be a very good thing to get comfortable with coordinate planes and systems and calculations involving them.... especially if you want to do any kind of physics engine, and if you want to do anything cute with it (black hole generators and such). I suggest up to Calc 3 for that as it introduces you to different coordinate systems and shows you how to implement them.

Where math starts getting really tricky is algorithm analysis. Whether it's efficiency, probability of success, or anything in between, you might find yourself working with more and more complicated functions (that you might end up having to use Runge–Kutta to "solve", depending on the amount of variables it depends on, and how).

Also, I would look not upon that "Stats/Probability" requirement as being trivial. I don't know how it was over there, but Statistics here is... an interesting ride. One that made me realize it was quite possibly one of not only the most difficult, but most useful fields. Probability and statistics is not intuitive at all. Unless they make it faceroll easy, expect some challenge.

TL;DR: It depends on what kind of coding you're doing. For instance the job I'm in is web design, database manipulation, parsing, etc. You could probably get by here easily by just relying on solid foundation and very basic algebra skills, supposing you had good problem solving skills... it can get harder than that quickly though.

Just throwing this out there for fun.

Edit: Oh, and my first exposure to coding was Matlab in one of my CS courses, and then the second one was C, with a crappy teacher. Pointers confused the living crap out of me for a little while and C is naturally a huge step up from Matlab.
Edited by stolemyowncar - 10/3/13 at 11:55am
post #12 of 12
I think you should go for it and see if you like it. Calculus is made out to be very intimidating but like many other common mathematics courses, is extremely intuitive and relatable to everyday experience. My greatest advice with math courses is to try to understand what you're learning, rather than relying on mechanical application of formulas. Once you see how calculus defines and explains concepts like the relationship between position, velocity, and acceleration, or the formulas for volume of common objects, it truly becomes a powerful and ingrained tool.

I would also venture to say that the average computer scientist will not often employ calculus. In my experience, number theory and linear algebra are the far more common tools for the computer scientist. That's of course dependent on your position, though.

At any rate, a lot of algorithmic analysis (time complexity) proofs and many of the more advanced topics in the undergraduate CS curriculum will expect a familiarity with Calculus.
Edited by theRYB - 10/11/13 at 11:06am
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Computer Science student seeking advice!