Positives to ALEKS are that they have a pretest, fill-in model. You take an assessment and then it only gives you the topics you don't know. Plus, if you're getting questions correct, it only gives you a few before you move on. It's also quite affordable.

The negative is that all the teaching is through wrong answers. That is, if you don't know an answer or get one wrong, it will then explain the method to you. This turned out to be surprisingly stressful for our DD, trigger her perfectionism. But that's specific to a particular kid and can't be generalized to everyone.