I learned how to build a vocabulary for the problem domain first, and then use the vocabulary to solve the actual problem through this course. Norvig has great examples on bottom-up problem solving approach.
They're both worth checking out. The biggest complaints I've seen about either were about the pace: slow for HtDP, fast for Norvig. I think HtDP's recipes are worth reviewing even if you'd get bored with its pace.
when you're doing neither top-bottom nor bottom-up. I think pg or some other lisper described that by a set of thin DSLs, so not purely bottom-up, something a bit more agile.