Math skills vs. programming skills

Mathematics — Alex @ 9:36 pm

For the first time in a while, K5 has an interesting article on the front-page, one about mathematic puzzles, none the less. Considering the usual sparsity of anything but pseudo-science and political op-eds, this is a welcome change; makes me remember the things I used to like about K5.

The problems are pretty interesting, but what is even more interesting are the responses of readers. There are a lot of programs that ‘lazy coders’ said can ’solve’ the problems. What’s interesting about that is that I’ve noticed when I ask people who have any programming skills a hard math problem that involves counting or enumeration, they tend to display the mindset that if a problem requires a little thought, then you should probably relegate it to a task for the computer. I do that myself, to be honest. But avoiding developing or exercising the usually basic skills required to solve teasers like these is probably not a good habit to get into. The tendency to substitute programming for thinking reminds me of the comparison Gian Carlo Rota (?) makes between math and computer science: computer science as brute force mining for diamonds, while math as polishing those diamonds. I think the way he intended that comparison to be taken is that CS could be a tool useful for discovering useful patterns out of a mass of data, and then math used to develop and explain those patterns. I wonder if that is the way that any actual mathematicians work.

Possibly relevant posts:

4 Comments »

  1. With a degree in mathematics and computer science, I am very interested in this point.

    My preference is always to sit down with pencil and paper first, which over the course of time has meant that my programming skills remain fairly weak.
    Computer scientists are interested more and more in complexity theory and algorithm design - the future of, and my interest in, computer science lies in designing algorithms which run magnitudes of order quicker… with ever-increasing speeds: no longer is a faster processor an efficient solution to problems with time - a significantly quicker algorithm is much more effective.
    I would describe algorithm design as a very pure mathematical skill, which computer scientists will need more and more.

    Interestingly, I have seen the ‘Lockers’ problem (slightly modified) on another forum quite recently. A lot of mathematicians (including myself) came along and suggested answers which were mathematically sound - but wrong because they had forgotten an important case or made an off-by-one error in their calculations… someone came along and programmed the correct solution, putting everyone else to shame.

    Comment by Ronald — 1/26/2005 @ 12:01 pm
  2. One of my favorite math books, Concrete Mathematics, was written by a computer scientist to train students for that purpose (designing and analysing algorithms).

    Sometimes designing an algorithm that can be implemented on a computer and solving the mathematical problem go hand in hand, like finding the GCD. But sometimes people code something up that works without really stopping to think about how it works. It’s that second situation that I dislike.

    Comment by Alex — 1/26/2005 @ 6:06 pm
  3. I know what you mean, and I agree: I hate that. In my experience, it would be rare for a genuine computer scientist do that, though. It tends to be people who know how to program but don’t know HOW to program, if that makes any sense.

    Comment by Ronald — 1/26/2005 @ 7:47 pm
  4. Interesting discussion, I left a comment on my blog here.

    Comment by didier — 1/26/2005 @ 8:47 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2008 ChapterZero | powered by WordPress with Barecity