I side much more Conrad Wolfram on this than Stillwell [1]. Computation simply is a lot less important now as we have tools that do them with far greater speed and accuracy. And I'm from the generation that did tons of computation, but I honestly never had a great grasp of it. I just knew there were steps to be taken (leave an extra space to right as you do long multiplication) -- and I was one of the top math students in the district.
In fact I'd argue that I never really understood much of any math until grad school. I was computational sophisticated, but lacked understanding.
And oddly, I seem to find quite the opposite problem from what the blog author describes. I find students who know 3x5. But struggle to understand when the Fourier Transform is appropriate. Sure, if they're looking at problem sets at the back of the chapter about Fourier Transforms then they'll start with it, but in the real world they lack the conceptual understanding of it. I've met students who can compute the SVD, they can tell you the text book definition, but don't actually intuitively know what it means. They don't know when it should be applied, or when it is applied, what it means.
As a student in a fairly good university(Umass), Math tends to be taught exactly how you describe it. "Heres the FT. This is where you use it. This is how you do it". Most students will be able to do the FT, and most students can actually find the correct answer. However, because teachers and books tend to formulate very artificial situations where the a specific tool students often are used to looking for very specific patterns inside problems to decide what tool they will use for the job. When a problem falls outside the usual patterns, students will have a hard time identifying the tool they should use.
I see this all the time when I help someone with a programming assignment. They may understand the problem, they may understand each individual solution if you explain it to them. However, they usually do not know where they should start. They may understand what a hash table is, and they may even know how to implement one. However if a problem does not fall into one of the patterns they are used to for a "hash table problem" they may not realize right away that they could use such a solution.
Kids need to be taught how to break down a problem into its elements, and then realize which elements can be solved most effectively by what tool. This can also be learned through experience. Program enough and you will eventually start to break down problems yourself. But some kids don't seem to take initiative and work on themselves outside school. Which also is the reason why some kids from Umass CS are working at Facebook, Google, Microsoft, and others serve me coffee.
In fact I'd argue that I never really understood much of any math until grad school. I was computational sophisticated, but lacked understanding.
And oddly, I seem to find quite the opposite problem from what the blog author describes. I find students who know 3x5. But struggle to understand when the Fourier Transform is appropriate. Sure, if they're looking at problem sets at the back of the chapter about Fourier Transforms then they'll start with it, but in the real world they lack the conceptual understanding of it. I've met students who can compute the SVD, they can tell you the text book definition, but don't actually intuitively know what it means. They don't know when it should be applied, or when it is applied, what it means.
[1] http://blog.wolfram.com/2010/11/23/conrad-wolframs-ted-talk-...