Joking aside, it does seem that a mix of the two is nice. Bottom Up is boring when you just want to get things done and Top Down is magic until you try to leave the playground. The problem arises that each student will have different tolerances of each of those approaches.
Edit: Maybe an interactive book, or app, that lets you see a problem from both angles and let's you pick the problem you want to solve. Here is a problem: "Given this graph data summarize and display it". Bottom Up you learn DFS and Top Down you learn d3. With if you pick one or the other your given a library to fill in the part you don't like. You could always return and do the other part latter as well.