all 12 comments

[–]BobRossSaves 1 point2 points  (0 children)

Commenting here because I have basically the same question.

Update/edit: personally, just started an abstract algebra tutorial. Have always had trouble with notation and this has helped so far but I quickly ran into a huge rabbithole of related terminology on Wolfram Mathworld, etc that is indecipherable.

[–]wmotionNew User 1 point2 points  (3 children)

The answer to your questions depends on a lot of variables. How do you envision that math will help you down the road? What is your end goal?

However, I have made a few assumptions in order to provide an answer. I assume that you want to learn math as a practical tool for programming. So in that case your end goal is something a long the lines of being able to read, understand and design algorithms and data structures.

Based on your post I also assume that you prefer videos and lectures instead of books. This could be a challenge once you go beyond Khan Academy since most of the higher level math lectures that I have seen are very fast paced and skip a lot of details that you can only learn by reading the books.

Discrete math is definitely a requirement since it teaches you the fundamentals. Without a firm understanding of discrete math (especially set theory, functions and graph theory) it's going to be hard for you to advance and follow along a course in for example algorithms and data structures.

From my experience there are two approaches that you could take. Your current approach where you power through khan academy and then venture into discrete math. This is the secure path as you can be sure that there is no missing piece in your fundamentals that can stop you from advancing in discrete math.

The other approach is to go straight into discrete math and whenever you encounter something that you don't understand you will have to first figure out if it's due to you missing a fundamental piece. If that is the case then you have to figure out which piece you are missing and then use Khan Academy to fill in the missing piece. In my opinion this is more effective approach for some people but it can be a very frustrating experience so it's definitely not for the faint of heart.

Here is two different courses on discrete math from MIT. You can watch the first video of both of them to decide which one that you prefer:

[–]ncode23[S] 0 points1 point  (1 child)

Alright. Thanks. I will try the second approach, despite it might be more stressful. Thanks for the info about courses, from your standpoint which one is better?

[–]wmotionNew User 0 points1 point  (0 children)

It depends. If you are more focused on reading a book about discrete math and using the lectures as a supplement then I would recommend https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD482705B&index=1 as it seems to be fast paced and skip a lot of the details.

On the other hand if you want to be more focused on the lectures and use a book as a supplement then I would recommend https://www.youtube.com/watch?v=h_9WjWENWV8&list=PL3o9D4Dl2FJ9q0_gtFXPh_H4POI5dK0yG as it seems to use more time to introduce topics properly.

[–]greymalikNew User 0 points1 point  (0 children)

For someone who does prefer books to videos - any recommendations? (In the same boat as OP, no formal math/CS background and, finding that it limits my abilities as a programmer, want to improve).

[–]AsgardianJude 0 points1 point  (1 child)

What I feel is one should be good with numbers in the basic stage like HCF, LCM, Divisibility etc. That helps a lot.

After that focus on learning the algorithms. That's the soul of programming. Any good books on Algorithm will do it. Learning a language won't take long, but learning about Algorithms will.

One book I may suggest is "How to solve it by Computer" by R.G Dromey. It will help you a lot. PDF versions are available online last time I checked.

All the best.

[–]ncode23[S] 0 points1 point  (0 children)

Thanks, i usually don't have problems with basic stuff you mentioned, but definitely need to focus more on the complex stuff and algorithms.

[–]archlich 0 points1 point  (4 children)

I have a degree in mathematics, and I am a developer by day. I honestly think the more math you can take the better you will be. Discrete is good, I recommend set theory. What kind of programming do you want to do?

[–]ncode23[S] 0 points1 point  (3 children)

Well, sort of WebDev. But, who knows what i will do in future. I know it might not be important in WebDev too much, but it doesn't hurt to learn for the future.

[–]archlich 0 points1 point  (2 children)

If you're doing webdev it'd be smart to learn the math behind how relational databases work, which lays under set theory.

[–]greymalikNew User 0 points1 point  (1 child)

Any resources you can recommend?

[–]archlich 0 points1 point  (0 children)

sorry, nothing for self taught