In programming how important is it to be good at algebra?

Maximilian

Lifer
Feb 8, 2004
12,603
9
81
Im at a point in a maths module where its past the basic algebra and its into the stuff that makes no faking sense to me at all ^_^ Quadratic equations, expanding out the brackets etc.

Is this stuff important in programming in general? I guess it would be beneficial if you are programming educational software that teaches quadratics but apart from that?
 

Broheim

Diamond Member
Feb 17, 2011
4,592
2
81
in general programming... no

there's a few "niches" where it pays to be a math genius, but overall it's much more important to be able to think abstractly and solve problems.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
there's a few "niches" where it pays to be a math genius, but overall it's much more important to be able to think abstractly and solve problems.

Pretty much what I would say. I've never really had to use much more than basic math in most of my programming.
 

BogdanH

Member
Feb 20, 2011
33
2
66
Hi,
What is programming "in general"? IMO, there is no such thing and one can't solve problems just by thinking abstractly. The thing is, in programming, every problem is mathematical problem. And it only depends on problem you need to solve, how much math knowledge is required.
It's not about educational software... it's about transfering math knowledge to real world. I.e. to develope 3D applications, one simply need to know how to work with matrices... And one wouldn't expect, that trigonometry is required to encode images into JPG, or music into MP3...
At some point we all hit our math knowledge limit -but, by giving up at quadratic equations, that limit is too low for serious programmer, IMHO.

Bogdan
 

N4g4rok

Senior member
Sep 21, 2011
285
0
0
I think the same problems can still be solved without a strong math background. Those who do have it, can sometimes utilize those more abstract algebraic ideas to optimize code. It really depends on your approach to solving that particular problem.

At the same time, any process that works with advanced algebraic and trigonometric function might cause some slowdowns too.

Short answer, it depends on how you want to solve the problem you're presented.
 

beginner99

Diamond Member
Jun 2, 2009
5,223
1,598
136
I guess for most programming it isn't very important (eg. buisness rules, DataAccess stuff,...). But this is also the most boring stuff that pays the worst.

Besides that quadratic equations IMHO are pretty basic algebra.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
Programming is a mathematics problems. Many programmers happily code without all sorts of essential maths and computer science but they cant any good at the job without it.
 

Monster_Munch

Senior member
Oct 19, 2010
873
1
0
If you want to program videogames then you'll need to be pretty good at math. Vectors, Geometry and Matrices especially.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
Regardless of the debate over whether programming is math, the majority of programmers don't encounter complicated mathematics in their work. Building websites, mobile applications, desktop applications, utilities, etc., is much more about abstract thinking, problem decomposition, syntax fluency, and framework competence. Even in game programming much of the really complex math (vectors, matrices, pathing, hit detection, etc.) has been provided for in framework code now.

Programmers have to be smart and well-rounded, meaning that they have to be able to design and implement code that solves problems, including mathematical problems when necessary, but they don't have to be mathematicians.
 

Net

Golden Member
Aug 30, 2003
1,592
2
81
i have a minor in mathematics. i've had to use it at times for the type of work i do but in general its as others have said. abstract thinking to solve problems. there are math libraries so you won't have to reinvent the wheel.

algebra is pretty basic though, you have other classes where it will be beneficial to understand algebra.

if i was you i would learn it well. You don't know the future of what you will work on or even if the type of work you want to do will change.
 
Last edited:

Schmide

Diamond Member
Mar 7, 2002
5,590
724
126
I would say algebra is the basics of programming, considering by definition it is the study of rules, variables, operations and the relations that govern them.

As basic algebra extends into other relative mathematics.

Geometry, you're looking at the placement and location of elements and primitives relative to some base, i.e. markup.

Sets is the basis for arrays, element organization, types and how to solve them.

Linear the study of vectors spaces and matrices, defines so much spacial relations, it cannot be ignored.

and so on and so on.
 

Stuxnet

Diamond Member
Jun 16, 2005
8,403
1
0
in general programming... no

there's a few "niches" where it pays to be a math genius, but overall it's much more important to be able to think abstractly and solve problems.

Meh... I disagree. You night not be doing math, per se, when programming, but you're thinking the exact same way. If you suck at math, you're going to suck at programming. You need to be able to think critically, abstractly, and juggle a lot of ideas simultaneously, while being very resourceful (knowing what tools/API's are available to you). This isn't really that much different than what's necessary to be successful in math (API's = formulas).
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
You do not have to be a math pro but knowing more will definitely help. One thing I have found more useful than any other area is being able to do binary math. There are so many situations in programming where you can do calculations faster if you understand how to shift bits around vs doing it the traditional way of 12/2, etc.
 

wrosecrans

Junior Member
Mar 29, 2011
7
0
0
Im at a point in a maths module where its past the basic algebra and its into the stuff that makes no faking sense to me at all ^_^ Quadratic equations, expanding out the brackets etc.

Is this stuff important in programming in general? I guess it would be beneficial if you are programming educational software that teaches quadratics but apart from that?

Computer Science is a branch of mathematics, and it is obviously pretty closely tied to programming in general. (Though the two are distinct. One classic saying suggests that, "Computer science is as much about computers as Astronomy is about Telescopes." I've always found that pretty accurate.) Everything that the computer does is math. It's all arithmetic and boolean algebra and stuff. Programming is the art of having mastery over the device to make it do what you need. If you choose not to pursue math to the point where the math that makes a computer work remains a mystery for you, then the computer itself will also remain something of a mystery, and you naturally won't have the same fluency of command over it that others will. In terms of day to say stuff, understanding the scaling of algorithms is very important. Knowing whether an algorithm that takes 2^x time is slower than 2x is important. If you become known as the guy whose work constantly needs to be thrown out and replaced by something more scalable written from scratch, that can obviously be career limiting. The developers whose code suddenly explodes without them understanding why always have a hard time. Not to say they don't exist. They do. Lots of people make a good living doing something they don't really understand. (I suspect the team that writes the Adobe Acrobat Reader is in this group. Zing!) It's possible that you've just been poorly taught, and your love of programming will ultimately lead to a better understanding of math rather than the other way around. In the end, programming is all about having a problem, and making it go away. If you are a good enough programmer to make your own problems go away, then that is the important thing, even if you aren't as good or capable as the next guy. So, don't get discouraged. Consider programming a useful skill, however far you get with it. And, if you can, try to expand your horizons to understand things like the math that powers the machine. Every little bit of it that you do master puts you one step ahead of everybody who didn't bother at all.
 

Fallen Kell

Diamond Member
Oct 9, 1999
6,063
437
126
Regardless of the debate over whether programming is math...

I am sorry, there is no debate, programming IS math. This is a fact, not a theory or opinion, thus, it is not debatable.

All programs are mathematical algorithms. They are defined in part by the hardware which the run on, and the fundamental rules of computation. Go do some research on lambda calculus....
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
I am sorry, there is no debate, programming IS math. This is a fact, not a theory or opinion, thus, it is not debatable.

All programs are mathematical algorithms. They are defined in part by the hardware which the run on, and the fundamental rules of computation. Go do some research on lambda calculus....

Maybe this weekend. Right now I'm a little tied up writing a website in python and django, and lambda calculus won't help me get it done.

Perhaps I should have put quotes around "programming." Regardless, this very academic point, the truth of which I don't contest, is utterly irrelevant to the OP's question.
 

KentState

Diamond Member
Oct 19, 2001
8,397
393
126
Math and programming going hand in hand. A common requirement is an abstract math course which is 100% applicable to programming. I guess if you are going to be scripting, then math isn't important, but I don't consider that real programming.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
Math and programming going hand in hand. A common requirement is an abstract math course which is 100% applicable to programming. I guess if you are going to be scripting, then math isn't important, but I don't consider that real programming.

Thinking back over the last few apps I worked on ...

iOS app for text, photo, and video editing and sharing. Python/django/mysql back end for user accounts and media storage. Math == none.

WPF digital media management application, with MTP/XMPP/SIP support, web deployment and updates, user metrics collection and reporting, SQL server back end, 150k end users, 10k downloads/week. Had to add up track lengths.

Online 8TB digital media library with Silverlight management front-end, feeds from all major music publishers, and a CD/DVD/SD image editor/manager. Had to add up track lengths.

Twenty year-old legacy point of sale system for a major U.S. retailer, written in C, with over 20,000 modules, running on AIX. We converted certain key modules to C++ and debugged numerous performance issues. Dollars and cents, which is not necessarily trivial, but we didn't mess with it.

ASP.NET marketing information management system for a major cosmetics company. SQL Server back end. No math.

Web-based credit/debit card account management system with links to all major backoffice banking systems and networks, with over 500 million accounts at peak utilization. No math.

I think the last thing I did that really required anything more complicated than the four basic ops and an occasional mod was an article I wrote for DDJ in 1993 on using BSP trees to remap a colorspace into an 8-bit palette. I had to calculate euclidean distances between points. I also wrote a primitive 3D library back in the early 90's, so I used matrices and vectors for that.

Otherwise, I'm fortunate to have been able to avoid real programming for almost 20 years now .
 

LokutusofBorg

Golden Member
Mar 20, 2001
1,065
0
76
I always say that programming is a constant exercise in solving story problems. Like the kind you did back in elementary school. You have a narrative that describes the problem domain, and you have to be able to identify the givens, the variables, and the parts to be solved for.

I also say that story problems are/were very basic algebra. 2x + 1 = 7. Solve for X. If you are good at story problems, you'll be good at algebra, and you'll be good at programming.

There's more to it, as others have said above. The entire exercise of programming is abstract math. You may not be programming in equations and formal math, but everything you do in programming is making an algorithm that solves some task using the over-grown calculator that is a computer.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
An analogy struck me this evening while I was playing Skyrim: programming is math the same way that music is math. Both are fundamentally mathematical, but not in a way that matters to practitioners on a daily basis.
 

Fallen Kell

Diamond Member
Oct 9, 1999
6,063
437
126
An analogy struck me this evening while I was playing Skyrim: programming is math the same way that music is math. Both are fundamentally mathematical, but not in a way that matters to practitioners on a daily basis.

Until you have to debug something that is being screwed up at the compiler level....
 

Train

Lifer
Jun 22, 2000
13,863
68
91
www.bing.com
An analogy struck me this evening while I was playing Skyrim: programming is math the same way that music is math. Both are fundamentally mathematical, but not in a way that matters to practitioners on a daily basis.

Yesterday reading this thread I was reminded of an article about all the complex trajectory calculations that go on in the brain when someone shoots a 3 pointer in basketball. It talked about how those specialized "circuits" evolved so that man could hit a moving target, aka dinner, with a spear, without having to take 10 minutes to do the caluclations, he just shoots on the fly, his brain computes the math in real time.
 

Leros

Lifer
Jul 11, 2004
21,867
7
81
The logical mind that makes a person good at algebra is the same kind of logical mind that makes a person good at programming.

If you don't have the mind to follow and understand the quadratic equation, then I don't see how you would be able to follow and understand a program.
 

Maximilian

Lifer
Feb 8, 2004
12,603
9
81
Well im not bad at math, i can do geometry, trig, some algebra but when it gets to the crap like midway down this page:

http://en.wikipedia.org/wiki/Quadratic_equation

I just get lost. All these meaningless variables, roots, powers, fractions all mixed together as well :| I was fine with the smaller equations but that stuff is a bit much.

So far im not struggling with the actual programming part of my course though, its quite enjoyable.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |