I'm learning Algebra & Group Theory, casually, on my own. Professionally, I'm a computer consultant, with a growing interest in the mathematical and theoretical aspects. I've been amazed with the applications of Algebra to CS things like cryptography, coding theory, and combinatorial search.

I'm using Artin's book, and, as high quality as it is, I find it leaves me dry. A lot of names for new concepts, and proving that one thing follows from others. But I don't see the powerful tool I envisioned that I'd gain taking shape in my hand.

Perhaps because I'm learning independently and casually, I need a book which will give me tools, showing me how they can be used to solve concrete problems outside of algebra.

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

Thanks for the replies. When mentioning a book, please let me know how it will meet the needs I express.
–
ReginoldGoldJun 18 '10 at 23:14

Some books I've seen on Amazon are Fraleigh, Saracino, and Lindsay Childs, though I don't know anything about those.
–
ReginoldGoldJun 18 '10 at 23:14

The best algebra book for beginners I know is E.B. Vinberg's A Course In Algebra, available through the AMS. It's very similar in spirit to Artin's book (i.e. very geometric), but it's much gentler and builds more slowly to a very high level with lots of examples and concrete applications.However,most of the applications in this book are classical (groups of transformations in Euclidean space,symmetry groups in physics,number theory,etc.) I think what you want is a text that shows what algebra is for. Sadly,I don't think there really is a good algebra book that seamlessly integrates a large number of applications besides the theory-you'll probably have to read several such books to get the big picture you want.That being said,there are 2 more books I highly recommend to you that really should be considered a single text in 2 parts:John Stillwell's Elements of Algebra: Geometry, Numbers, Equations and Elements of Number Theory. These books give a brilliant,relatively short and beautifully written exposition of basic algebra through it's history and many applications that cannot be found in other sources,particularly to geometry and computer science,including the RSA cryptography system and the Pell equation.They really should be considered 2 halves of the same text as Stillwell doesn't cover basic ring theory in the algebra text,but in the number theory text-considering it to be part of basic number theory and it's applications.This is a very interesting and compelling viewpoint and it's very enlightening. I think you may find them to be just what the doctor ordered for the basics.

I don't know if it'll fit your needs, but let me recommend you the book from which I mostly learned group theory: Humhpreys' A course on Group Theory. There are lots of worked examples, and I think you'll appreciate the chapter on error-correcting codes.

You might want to try Applied Abstract Algebra by Lidl and Pilz. The trouble with the introductory algebra books written by mathematicians is that they tend to start with groups, and then progress to rings and fields. Logically, groups are simpler. However, if you want to see the applications, then I think this is backwards. Finite fields, for example, are useful in coding theory and cryptography, and you don't really need to slog through a lot of theorems about groups to understand finite fields. Once you see what these concepts are good for, then you can readily go back and absorb the necessary theorems that make everything work.

@Timothy I do think the applied aspect of algebra-which has gained tremendous importance in computer science in the last 20 years-is downplayed too much in standard algebra courses and this is something that should be rectified.
–
Andrew LJun 19 '10 at 0:53

For general algebra, I would recommend Abstract Algebra by Dummit and Foote. It has a lot of problems and good counterexamples. More importantly, it teaches you how to approach a problem, a technique very useful when studying on your own.

It covers groups, rings, modules, Galois theory, Linear algebra, some Affine Algebraic geometry and representation theory. But I didn't quite like the modules and tensor product section. From a computational point of view, it also discusses Grobner bases, Berlekamp algorithm, etc.

"A concrete introduction to higher algebra" by Lindsay Childs is very good. While it does not aim at giving a comprehensive survey of the basic concepts in algebra, it focuses on applications, for example to coding theory and cryptography, and seems to me to be very suitable for self-study.

It takes time and efforts to go from theory to application. You need to convert yourself from a computer scientist to a mathematician. Then convert back to computer scientist. A hard process. Please be patient and give yourself more time.

All the books the answerers recommend seem to be good although I did not read all of them. I am reading Dummit and Foote’s Abstract Algebra because I am studying for math, not for computers. Please note the word I use – ‘for’.

To answer your particular question, I would recommend P.M. Cohn’s two volumes – Basic Algebra and Further Algebra and Applications. These two books contain enough theory and also pay attention to applications. Cohn tried to tell the reader how to apply the theory. You may not find too much number theory in those two books. For that, you need a good number theory book.

EDIT:
If I were you, I would go to a university library and take a glance at all those books people here recommend before I buy any book. Everybody has his own taste.

I've enjoyed Peter Cameron's exposition of permutation groups; most have a very CS feel and are almost exclusively devoted to solving some sort of combinatorial problem (often of real use).

He has recently written some lecture notes on a problem in synchronization(course page) that make non-trivial use of permutation groups to understand finite automata. One important tool in hardware design is a "reset word" that takes the automaton from any state and brings it back to a fixed initial state. The key point being that you send the same message no matter what state the automaton is currently in, and no matter what it ends up in the fixed initial state, ready for new commands.

The goal of the course is to make progress towards solving a conjecture that if an n-state automaton has a reset word at all, then it has a short one, that is, one of length at most (n−1)2.

He also has a nice encyclopedia about "design theory". Block designs are highly symmetric arrangements that allow for efficient and accurate statistical experiments (I believe originally in agriculture, but now widely used in many areas, especially medicine) as well as dense codes in coding theory. I first learned about them in the local cryptography seminar where they were used to give better understanding of some algebraic stream ciphers.

If you do not currently have problems you want to solve using group theory, but want to learn to solve some beautiful problems in and using group theory, then I found Butler's Fundamental Algorithms of Permutation Groups to be quite good. It uses spanning trees to solve a fundamental problem in permutation groups, and shows several very good examples of how permutation groups let you very naturally prune an exponential search tree down to something that will work like a charm in practice. The open source GAP has many of these algorithms implemented in fairly easy to read procedural language (like C, but with garbage collection). It of course also has many of the modern solutions to the same problems, so you can also see how things have improved.