We do not need to teach math and science

Roger Schank, a math wiz, says we do not need to teach math and science.

What (…) makes no sense is the idea that math and science are important subjects. You can live a happy life without ever having taken a physics course or knowing what a logarithm is.

On the other hand, being able to reason on the basis of evidence actually is important. Thinking rationally and logically is important. Knowing how to function in a world that includes new technology and all kinds of health issues is important. Knowing how things work and being able to fix them and perhaps design them is important.

Lets get serious. We don’t need more math and science. We need more people who can think.

Of course, while I agree with his point, he is being a bit too hasty. If you want to run a business, you need to know that if you save 10% and then save 10% again, you do not save 20%. You need to know that if you sell something US$10 and US$1 = CAN$1.5, then you sell it US$15. So, we do need to teach mathematics if only because everyone (at least in Canada) is responsible for filling out tax forms. Yes, you can get your tax forms filled out by an accountant, but, in principle, you are the one responsible for any mistake made.

You do not need to know what a logarithm is? Depends what you do for a living. If you are a programmer and you need to sort a bunch of entries, you need to understand that the first algorithm you will think up (typically Bubble sort) is not going to cut it if you have to sort 10,000,000 entries. If you want to really understand the issue you need the concept of logarithm.

What about trigonometry? Most people working in a factory doing non trivial work need a basic understanding of trigonometry.

I must admit that I have little use for the chemistry I learned, but then, I have little use for the geography either. Who needs to know where is Val d’Or?

Where he is right however is that math and science are not as important as some lobbies make it out to be. I know a lot about how to solve nonlinear differential equations. Way more than I need considering I haven’t seen a nonlinear differential equation in nearly 10 years.

But to be fair, education takes a long time to adjust. My education was modeled after the space race. We were all to be rocket designers or astronauts (or maybe cosmonauts if you were a pessimist). So Physics, differential equations, algebra, and so on, were thought to be central. It turns out that it is a fringe subject. Few people work for the space industry.

In Computer Science, for a long time, we thought that we were limited by our computing resources so designing extra efficients algorithms was very important. As it turns out, Tim Berners-Lee convinced me that we are not building the future out of algorithms.

So, one generation teaches the next what they think is most important. The old generation is almost always wrong. Yet, it almost seems not to matter because apparently, we manage to go forward.

Nothing to worry about here. The Americans will not go bankrupt because people in Bulgaria are twice as good at math. If you learn math, you probably learn to think straight, but there are other ways to learn to think straight.

(Source: Downes.)

Published by

Daniel Lemire

A computer science professor at the University of Quebec (TELUQ).

6 thoughts on “We do not need to teach math and science”

  1. Roger Schank was the head of the lab at Northwestern University where I got my PhD. For the record, Schank is not a mathematician. But he has had a lot of interesting things to say about education, both the content (what to teach) and the process (how to teach).

    There is an interesting example of looking at a problem using Bayesian reasoning described at


    This is a clear example of right and wrong ‘reasoning on the basis of evidence.’ It is an example of how math can be used in the service of practice.

    To be fair, the math that my daughter is taking (algebra, basically) is more practically oriented than the math curriculum one usually thinks is used.

    (And, without basic math, how could we post to your weblog?)

  2. Guy: I agree. Being a good programmer has little to do with proving theorems. Programming is an art in itself and Paul Graham has written an entire book to make this point:


    The fact that we do not have, yet, recognition for programming as an art form is simply because programming is still a useful function and recognizing a useful function as “art” has consequences industrials would rather avoid… plus artists are poor and most programmers prefer to be well paid.

    Recognizing programming as an art form would put into question an entire branch of software engineering. There are many people, mostly people who went into business or research without ever being programmers, that think you can industrialize programming and turn it into a rigorous, step by step process that any monkey can follow. The boss designs the UML diagram with an architect, and he can then hire a bunch of inexpensive programmers to fill in the gaps. These programmers just follow the instructions and their work is checked by unit testing. In practice, this fails miserably and we have decades of experience to prove it. If you can’t buy talent, get out of the software business.

    The truth is hard to swallow: great software is built by great designers who, one would hope, have some background in mathematics (if only to understand the data structures), but who are committed, first of all, to good and pretty designs. Otherwise, you just get a bunch of code that seems to meet the requirements, and seems to mostly work. But yet, it never quite work right. It fails in odd ways and is impossible to fix completely.

    This is not to say that ugly hacks thrown together over the years do not work. They work and they are the only economically feasible option in many cases. But if you do not have enough great designers (“expert programmers”) in your team, you will simply start to experience serious code rotting and your project will fail. You will need to throw more and more money at fixing new issues and you will have to give up entirely on your code base.

    A company once tried to hire me to run their software department. They had invested on numerous inexpensive programmers over the years. I looked at the job offer seriously because I thought I could have done a good job at helping a team build great software. However, the minute the CEO started stressing the fact that their code base was a valuable asset, I knew not to take the job. The company went out of business a few years after I turned down the job. A code base, code thrown together over the years, has zero intrinsic value. If some of it was carefully crafted by great programmers, then, yes, there is probably great value in preserving some of it over the years and keeping the pieces together using some glue and some ugly hacks… but if you just keep on hiring cheap programmers, you have to understand that no matter how well managed and documented your software department is, your code base has no value. You can’t hire the worse artists and have them generate lots of art, and hope that the result will be valuable. It does not work.

    Programming is not a mechanical process.

  3. I totally agree with Schank. I would say that maths is used as a student “filtering device”… because it is easy to do so.

    Some of the best students I have seen in my (more than 20 years) career teaching CS had not background in maths. One of them had a degree in Literature: he knew how to organize his ideas, how to write clear and well-structured text, and he knew that “style” did make a difference — all these abilities, he could use to write good software (code as well as documentation).

    Good software design is about mastering complexity, with style, and this is not something which is necessarily learned by doing maths.

  4. Without sounding like a fence rider, I partially agree and disaree.

    I strongly feel that math educationand skills are highly important. In fact, if students education also included some language skills, it would be almost complete.

    I do believe the most important factor is critical thinking. Viewing any new topic, or conversation, or idea with analytical common sense. Then, people would be less easily lead like sheep. Our youth would be prepared for the future, with the ability to determine how to learn from and adapt to the ever changing world.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax