Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How would one get into abstract algebra having flunked High School math very early on? I've been going through Khan Academy pre-algebra and find it incredibly disheartening how little I know. I did manage to get a CS degree but the math taught there is different.


This is several days late, but I had this tab open along with many others and I'm finally getting to it.

What is it that you find challenging about math? If it's the actual computation/calculation -- the part where you are finding a numeric answer -- don't worry, that's nowhere to be found in abstract algebra (or any higher level math). Pure math (of which abstract algebra is a part) is about the study of patterns more than anything that has to do with numbers.

In fact, the name "abstract" refers to the fact that it's concerned with abstract collections of things -- for instance, groups. You'll study sets of operations on groups -- if you are able to identify Collection X as a group, you immediately know you can apply theorems a, b, c, etc. to it. For these reasons, the sort of things you are likely learning in pre-alg on Khan Academy don't have much direct applicability.

I think it's an enormously beneficial subject for programmers to study, maybe the only math course beyond the standard discrete math that I think should be required. (I want to add category theory, but I don't feel I can as I only have the barest grasp of the fundamentals myself...) As with all pure math courses, it will quickly move beyond the depth/level you can actively use in programming, but the mind-expanding it does is really great at encouraging the sort of abstract thinking the OP's post is about. It has strong relations to generics, interfaces, polymorphism, etc.

As for how to get into it, I used this book: https://www.amazon.com/Book-Abstract-Algebra-Second-Mathemat....


I'm 20 years out of school, so unfortunately not very qualified to answer that question. I took a look at the 3Blue1Brown videos but it seems he focuses on subjects other than algebra.

I will say that high school math is very different than abstract algebra, and in some ways abstract algebra is simpler.

I heard a long time ago that in France they teach some abstract algebra to 10 year olds??? They are simple concepts that don't require much background knowledge.

I actually got a little bit of it in 6th grade. I remember doing some optional assignment that introduced the idea of functions as things you can operate on, rather than things you just apply to concrete data. In other words, higher order functions.

So everybody knows you have numbers and operators:

    1 + 2*3 = 7
Well functions are also algebraic objects, with operators, e.g. 'o' is the function composition operator, so if you have functions f and g, f o g is also a function.

I think 20 years ago, programmers didn't think like this. These days, many programmers do, whether formally or not. JS/Python are more flexible than C or BASIC in this regard (and Haskell, Lisp, etc. even more so). So this is directly applicable to programming and it's worth a little bit of study. You probably know it, but seeing the mathematical view will make the reasoning more fluid.

It's not just functional programming either -- I don't use functional languages currently, but I use the ideas. I think that most people use inheritance poorly and I suspect that knowing algebra helps you "factor" code correctly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: