Download

Maths in Programming

My dad told me maths helps in programming, so i would just like to know, what level of maths should i learn for it to be helpful.

It largerly depends what do you wish to program. For 3d graphics, Geometry will serve you well, but for programming in general i found problem solving is required the most, once you can break down the task into small steps the program code will travel until the end result produces the required informations. You should be able to find great articles and excercises that help you pick up the language and the way of thinking required to solve problems in programming.

Depends on the field of programming you want to do. If you are only dealing with logic then basic calculus is enough but for something like graphics programming linear algebra becomes important.

Programming is maths.

For games programming, you want to be familiar with algebra, vector math, geometry, and mechanics in particular. Knowledge of decision maths (i.e algorithms) is also very useful.

I would also agree that the “specific math” is not the hard part but the specific base algorithms of course and how they interconnect. Breaking down the whole to its very simplest form is no easy task. You just have to know when to use a different discipline of math and have it come together as basic functions that talk to each other…

That is quite alot of maths for me to learn, next to the basics, whats a good starting point?

Programming i see myself making a great variaton, i wanna make games both 2d and 3d, as well as more simpler programs such as patches to older games, no cd cracks, mods for various games(Minecraft being the main game i wanna make mods for), and well you get the idea. I wanna become a very versatile programmer, versed in C, C++, C#, Java and Python.

i see, well i better start dowloading some apps that will help me learn maths, because at my current level of knowledge, i need to relearn maths, as maths has been my weakest subject.

If I were you I would focus on modern C++ and Python. Knowing how to read C is also valuable but you probably will never have to write it unless if you work with shader languages. I never really cared much for Java. C# is pretty nice to know about but if you know C++ then C# is easy to pick up.

At least you don’t have a math disability like me :frowning:

I got a mental disability called Autism which makes learning some things difficult, among other things, so i dunno its possible i may end up tryna understand what im tryna learn and struggling(this was the case with me and maths in zchool), but hey i wanna get into making games and programs and whatnot so i just gotta grit my teeth and try my best, I’m not gonna learn any maths by not trying

I shall explain why i want to learn the languages i chose:

Java: For the most part I only wanna learn Java so I can make Minecraft Shaders, Mods and Plugins as well as update old Mods and Plugins that havent been updated in a long time.

C: My favourite game Doom(1993) was coded in C, so to make Doom mods i need C to do so, plus I am under the belief that by learning C, most of C++ and C# should relatively be a walk in the park(C++ is an extention of C so therefore Learning C will be considerably helpfull)

C++: Unreal Engine 4 makes use of C++, so it makes sense to learn C++, plus by learning C++, C# will become easier again(I hate using the word easy in this context, but i cannot think of a more accurete word)

C#: Learning this will ensure I am up to date on my knowledge of the 3 main C Family programming languages, plus alot of people reccomended that i learn this Programming Language.

Python: No real reason why i want to learn this Programming Laguage, i just see this as another programming language that i think MIGHT come in handy sometime.

If you learn C before C++ you will need to un-learn some things that are now handled better and easier in C++. Creating a solid foundation on C++ is still what I recommend before exploring the other languages or you may start to blend them together and learn bad practices.

High school math textbooks are probably a sound bet; Pure Math, Mechanics and Decision Math will have separate textbooks. You can probably skip Statistics.

I barely made it through college, luckily I had a math teacher who was willing to work overtime with me so that I was able to pass barely

Hey IDGam3r,

Don’t let your disability limit you! It may take you a bit longer, but you will get there!

Btw, I’m also not very good in math, but I find that once I know what I want to do, I can find the algorithms / formulas I need. The most important part of being a programmer / coder (IMO) is not knowing a specific language, but learning how to THINK like a programmer. Once you know the basics and have the ability to break a problem down into small actionable steps, then you are almost there.

Learning a new language (a new syntax) will become easier and easier as time goes by. So my advice? Pick up an easy language to learn the basics of programming first (C# is great) and THEN everything else will start to make more sense.

Like Ambershee said, basic algebra, vector math, and calculus are great to know, but dont think that you need to be an expert at it to make a basic game :slight_smile:

I’ve programming for a couple of games and business apps, and all I needed was general math, plus geometry.
Math is needed for graphics and physics, and for NASA.

That’s big overstatement. For most time you don’t need to know math beyond basic calculus. I’m talking about programming.

Coding: If I could go back I’d dump time lost to Java / C# / Scripting languages, and focus solely on C++. That’s coming from someone who trained in C++ and hates the language btw… But I’ve never seen a case where a good C++ programmer got turned down for a job, even if they didn’t know the particular language being used. That’s its strength! If you’re a C++ heavy lifter, you can do anything (a common perception). Its the most pure language too, almost all the others can trace their roots back to C/C++. But if you don’t agree, follow lists like this and place your bet…

Math: Co-worker gives you a formula. Don’t try and understand the math, that’s a mistake. Instead treat it as a Black-Box. Understand the inputs and outputs instead. If you supply zeros / ones to all the inputs / variables, what do you get out? In BP if you pass in 10 the player jumps 100 etc… Graph it out… What does it do? Focus on the goal, not the beauty / intricacy of the math (its not your job anyway). Instead ask, how can I use this in my work, how do I plumb this into something … Always focus on what the end-goal is / what’s being achieved / look to apply math in a practical way. The good news is game dev is all about this! Games are heavily practical / empirical, its all about informal experimentation (Empirical vs Theoretical)…

Eh? How is it an overstatement?

Vector math is essential and unavoidable. If you want to know the distance between two objects, you use the vector between their locations.
Mechanics is pretty hard to avoid. If you want to calculate something like a simple interception vector, you need to know the basic equations of motion.
Geometry is incredibly useful, being able to determine areas, volumes, and how to obtain angles on common shapes are all things you might use on a fairly regular basis.
Basic understanding of algebra ties into the above and helps you understand and use information you come across.

Calculus is also useful, but Calculus requires an understanding of geometry and algebra to even get started (and basic mechanics is also very useful, particularly as much of early differential calculus is derived directly from the laws of motion).