View Full Version : Maths
Feb 25, 2009, 04:27 PM
So some of you may have seen several of my posts. I am new to programming. I am only 15 and was talking to the teacher on wether I should take computing or not, which is basically learning to program and code.
She was saying It requires a good maths brain and I need to be good a sorting out and jumbling around equations. Is this true?
I am not particularly strong with maths, but is it still possible to learn to program without the skills of a mathematician? I hope so, I really want to learn to program its really what I want to do, and probably the most interesting thing I have wanted to do in a long time.
Any help much appreciated, thanks.
Feb 25, 2009, 04:33 PM
if you are determined to learn and apply yourself then you can learn to program, but it does require somewhat of an analytical and mathematical brain (but this can also be learned) maths is not the be all and end all of programming
i was always very good at maths, but after 3-4 years of doing my BSc in computing im still god awful at programming, and about the only thing im good at is debugging as i seem spot bugs easily (so long as its someone elses code, mine is all bugs lol)
if you want to learn it then the only thing that will stop u is if you are not motivated enough
Feb 25, 2009, 05:12 PM
I've found that there's actually a lot of disagreement on the subject, partly because of disagreement on what programming is about.
At its core, programming is built entirely on math, but the extent to which actual programming resembles math depends heavily on what you're doing.
Many modern programs (certainly most of what I've worked on) are basically just moving bits of state around and displaying it in useful ways. Little or no actual computation takes place. For this sort of program, about the only place theoretical/mathematical CS is directly useful is in data structures. Indirectly, type theory and category theory are very useful here via the compiler and static analysis tools, but that tends to be something the compiler author needs to know, not the analysis tool user.
A second class of program has a fancy algorithm or set of algorithms as its core, with the rest being a wrapper around that essentially. An example would be a 3D game; a modern game engine is a marvel of tricky math, but the bulk of the development time still goes into building the actual game on top of that engine.
Lastly there's what the mathematicians tend to mean when they say program, which is basically just an algorithm, and is intended to solve a particular computation-intensive problem.
What's useful across all types of programming is the ability to think abstractly, which mathematicians are the undisputed champions of. Being able to take a specific and complex problem and reason about it as a series of well understood general-purpose operations is absolutely essential.
Feb 25, 2009, 05:17 PM
The ability to work through problems in a structured way is more important that math skills. If you make a career of it, being able to communicate and understand what your customers want and need is critical.
Give it a try, and don't get hung up on the language you use --- there are lots of those -- the ability to use them well is the important part.
Feb 25, 2009, 08:41 PM
As a hobby, you should pursue whatever interests you. You will probably find that your math and logical reasoning will improve while you learn to program.
Studying computer science in a university will involve taking, at minimum, calculus and a series of mathematical logic courses. Interestingly, many CS courses feature no programming whatsoever but hand-written proofs.