Does anyone know of any good ways to get good at algebra without as much“grind” as doing hundreds of questions a night

I'm coming to a point in college where I can't avoid my math classes any longer. I need to get better at algebra so I don't flunk out of the class when I take it, however I've never been able to get good at doing it without taking forever on one problem. The main problem I always seem to have is just memorizing the rules for various things such as inequalities. Does anyone know of any good methods to learn and get better at remembering the rules of these equations without having to do hundreds of questions a night. Please note that I know homework will involve doing hundreds of problems a night, and I can deal with that, however my main issue is that I want to at least get to a point over the summer so that I can get good enough to not take ten minutes on one question while not taking all day for multiple days a week doing math questions.

Also, if anyone can provide me with ideas that involve computer programming in the process, that would make it more fun for me, as I do enjoy computer programming, and it would make learning how to do the equations more fun.

Thanks, Flyboy

-
You have to make the effort to understand how the steps you carry out in the algebra really make sense. Your previous "method" of learning (memorizing rules instead of understanding rules) is analogous to someone who memorizes passages from text in a foreign language and can parrot it back without realizing that those foreign words actually mean something. I'm not saying you have to understand something about mathematical rigor, but if you memorize rules without realizing why the rules make sense, you're not going to learn algebra well at all. – KCd Apr 14 '11 at 7:06
Well, practice is indeed key; "there is no royal road" and all that. I would say you might try having formula crutches along for the first few times you practice; it might happen that constant use will have you remembering the formulae you need. – J. M. Apr 14 '11 at 7:39
If it's doing things at night you have a problem with, here's a little advice: do it all day long at moments you have nothing to do. You get up in the morning, a couple during breakfast, you have to take a poo, do a couple of exercises while you're at it. You're taking public transportation or somebody is driving you, exercises, you have lunch, exercises, you have a break, exercises, etc... The more you're busy with it, the better you'll get at it. It will become like breathing. – Raskolnikov Apr 14 '11 at 9:20
if you want to write code, you can do something like write a program that generates random problems (say random quadratic expressions) and code the answer (completeing the square, quadratic formula, factoring into product of linear factors) which you can then solve and compare. this will be limited by what you code but will provide you with endless practice problems of the type you make and provide abstract insight in the process, as you code algorithms to solve the problems in the generality required. – yoyo Apr 14 '11 at 11:13
What a lot of people don't realize is, when you're doing the problems related to a certain chapter or section, look at a problem, and if the way to do it is not immediate, go back to the chapter, skim it, look for similar problems and examples. People just read the chapter then try to do the problems. It has to be done simultaneously to be able to understand. Don't memorize, use references. You will end up knowing the formulas anyway. – Jon Beardsley Apr 14 '11 at 16:04

A certain amount of repetition is necessary for proficiency. It seems to me that it is better to have a good understanding of how to solve a few problems of a given type rather than to mindlessly solve billions and billions of problems. By this I mean: How does each step in the solution help you get closer to a solution for the problem? Is there a reason the steps are done in this order or could they be done in some other order?

It does not matter so much how long the first problem of a given type take. This supposes we are talking about minutes, not years. What matters is that once you start on a new type of problem you have the means to get proficient in a reasonable length of time.

-
Thanks, this seems like the best bet. I've always had a problem with the fact that it seemed to me like the repetition was just excessive and not really productive in my case, but this seems to make sense. It's better to repeat a few problems (rather than do the entire book) in order to understand the concept, rather than to grind thousands of problems without actually learning that much. – th3flyboy May 16 '11 at 7:40

@Anyone:$~$ Are there any remarks in this direction when it comes to higher algebra such as Abstract Algebra or Commutative Algebra. Thanks. – night owl Jul 10 '11 at 22:59
Nick: Thanks for that! I will definitely look at them. :) – night owl Dec 1 '11 at 4:15