I'd like to shift this question a bit - there are plenty of resources for "linear algebra for coders" (since they're in high-demand in gamedev circles). But what about recommended books for the abstract, general algebra? You know, all those rings and stuffs.
Visual Group Theory by Nathan Carter is a great introduction. There's a free preview online with the first few chapters, and you can find the whole thing for free through the usual channels.
Abstract algebra is a massive field, the vast majority of which has little applicability to writing code, so it's hard to know what to recommend without knowing why you want to learn it.
If you're ready to get very serious with mathematics, I like Algebra by Mac Lane and Birkhoff. (Note that this is a different book from A Survey of Modern Algebra by the same authors, which I'm sure is okay, but... a different book.)
If you're not ready to get very serious with mathematics... well, then why do you want to learn algebra?
It may have little direct application to writing code but abstract algebra will definitely make you a better person... And like so many other things, it helps you indirectly to tackle problems in different ways and see them in a new light. Just being the most efficient coder possible is a pretty sad goal.
> Just being the most efficient coder possible is a pretty sad goal.
Well, I agree, but life is short. Why learn algebra rather than complex analysis or probability theory or functional analysis or differential geometry or mathematical logic or general relativity or quantum mechanics or any one of dozens of other topics from physics or mathematics that will almost surely seem more interesting and fun to a non-mathematician? (Not to mention non-mathematical topics...)
I think group theory is both very useful and interesting. There’s no need to get into Galois theory but the basics are definitely applicable in everyday life.
I agree there are tons of other things that people should study, like basic linguistics, relativity, quantum physics, optics etc. Geometry should be on top of the list, for as Plato said “let no one ignorant of geometry enter”.
But I don’t think time is an issue really, if you just spend an hour or so each evening reading you csn quickly get a basic understanding of lots of topics in not thst many years.
Abstract algebra is an old field so plenty of good options.I would recommend Abstract Algebra by Dummit and Foote. Clear theory, great examples and good writing:
I like Fraleigh's "Abstract Algebra", though some chapters can be a bit esoteric. Everyone should know the basics of group theory and the abstract vector notion.