Math for programmers

hi there. Long time no see. Anyone who have learned math(for programmers) - please advice me some resources. I want to learn more about math logic, statistics. Also I want to refresh my knowledge of algebra. I learned a lot of math at university. But it was general math or applied for physics. I want to learn more what math people study at foreign universities at computer science majors. Thanks in advance!

1 Like

Check out khan academy :slight_smile:

or this one

4 Likes

Now I am having some bad experience with “Concrete mathematics”. It’s terribly hard to read. So I think to get step back and start from the basics.People recommend: https://www.amazon.com/Discrete-Mathematics-Applications-Student-Solutions/dp/0495826138

1 Like

Thanks.Awesome resources!

Math for “programming” depends on what kind of programming you’re doing (or want to do). But the general kinds of math commonly taught as part of a CS curriculum today should include: discrete math, statistics & probability, calculus, and linear algebra. I just Google’d and found a bunch of free online courses for each math subject, so you should have no problem learning any of them.

  • Discrete math is very foundational in computer science as it covers logic, set theory, graph theory, etc. Important for not only understanding certain OS concepts but also data structures and algorithms.
  • Statistics & probability (not the same thing, and are sometimes taught as separate courses, but can also be taught in the same course) are foundational for most of the theory in computer science, especially in algorithms.
  • I can’t think of anything offhand in programming that uses calculus except for gaming. :wink: But there are lots of other applications for calculus, I just can’t think of them offhand.
  • And linear algebra is basically for programming 3D graphics, if you get into something like OpenGL or DirectX.
6 Likes

In addition to what’s been provided above ,There’s some courses from edX :

Introduction to Algebra
College Algebra and Problem Solving

2 Likes

hey…you can take a coursera course…also here are some links to various math topic from wiki.c2.com/?MathForProgrammers..here is also an interesting article at nrich.maths.org/6873 and places to test your math knowledge: clep tests, yhwh math tests…good luck

2 Likes

Chech out this site http://youralgebratutors.com/ Hope you will find it usefull. Highly recommend!

On Free Code Camp Youtubwe channel there is a series called Math for Programmers, short movies on a given topic. Check them out, example: https://www.youtube.com/watch?v=iwcHS7oTMk4

1 Like

I do a fair amount of 3d programming and modeling. This site really helped me with trig tutoring https://www.studypug.com/trigonometry

most math issues can be solved with google, but i find myself going back to the same site for algebra (purplemath). And for design that requires different level of calculus, I start with this guy http://tutorial.math.lamar.edu/Classes/CalcII/CalcII.aspx

i think the strategy is to know what type of math solution is practical for which programming problem. good luck. math + development = lots of fun.

1 Like

Hmm, from what you say it seems you want to start very basic. Nothing bad about that, I did the same. My math was mostly high school level and a lot of it forgotten.

Start with Site Exchange, go to the practice section and see how far you can get. This will give you a good idea what you can do and where to start learning.

Don’t bother watching the videos. At least for me videos are just a slow way to learn and Khan’s are extra boring. There are lots of other resources to learn basic maths. Like some of the WikiBooks.

The question is discussed on myhomeworkhelp mathematics often enough and searching for ‘free resources’ or ‘free books’ will bring you a lot of information and material. Same goes for search terms like ‘start’ or ‘beginner’. Or ask your own question there. That works as well in the /r/math subsection on reddit. There you will find more subreddits, eg for learning maths.

Practice a lot. It’s not enough to just understand a concept and then go on to the next. You must feel comfortable to apply it. You won’t understand percentages if you are not comfortable with division and multiplication (as an example). That is true for higher concepts too. That’s why to me the practice section at Khan is far more valuable than the videos.

As with programming, staying in contact with the community will keep you motivated. Just logging in some forum once in a while and read what people are talking about.

Category Theory for Programmers (https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/) is great fun and solidly practical from the standpoint of the functional programming paradigm.

1 Like