Hacker News new | ask | show | jobs
by mian2zi3 5542 days ago
Physical education is the new math. Students don't like to be trapped in stuffy classrooms. They want to be outside and run around in the fresh air and sunshine. Over the semester, not only have my students improved markedly in physical fitness, but they've learned critical problem solving skills. We're playing football. They've developed increasingly sophisticated plays, analyzed defenses and developed counter-strategies. They fluidly execute novel strategies informed by planning and an awareness of the evolving whole-field situation. Clearly, PE is the new math.

WTF? Math has specific content and method. A proof is not a program. A for loop is not an integral. Your vaguely technical subject is not a substitute for math just because your students seem more engaged. Teaching people to think logically isn't the point of math, any more than it is the point of history, biology, literature or, yes, even programming. If your students have fuzzy feeling when problem solving, they probably have fuzzy ideas about math. They haven't been taught clearly. If they're uncomfortable with reasoning in math, they haven't been forced to develop intellectual independence. And foisting of "check the steps" on a computer won't help. And don't get me started on how naive an ideas of correctness that is.

2 comments

A proof is not a program.

The Curry–Howard isomorphism[1] would beg to differ. I think programming is much closer to math than this comment gives it credit for. In some sense, programming is even stricter than math. When doing math, you just have to satisfy your instructor or your reader. When programming, your program must run on a real computer -- there's no room for hand waving or imprecise arguments.

[1] http://en.wikipedia.org/wiki/Curry–Howard_correspondence

While I admit it is true in the technical sense of Curry-Howard, it is certainly not true in the sense the OP meant: that learning program is a substitute for learning mathematics.

Let's examine the post in light of C-H. I'm not super familiar with Python, but I believe it is dynamically (that is to say, singleton) typed. This might not correspond exactly to Python, but let's assume there is an any type, product types (for forming tuples in function arguments) corresponding logically to conjunction and function types corresponding logically to implication. Any well-formed expression (e.g. 0) has any type, so any is true as a proposition. Thus, all types are inhabited and all propositions are true. By proof irrelevence, the logical content of any Python program is equal to the constant function 0. In other words, they have no proof content. Thus, I claim the students here are not doing math via programming in the techincal sense of C-H.

I stand by my original claim that they are not doing math by programming in a looser sense, either. I studied computer science, spent a dozen years working as a programmer and now I'm studying math in graduate school.

> I think programming is much closer to math than this comment gives it credit for.

I might have said something like this before I started doing serious math.

You make a mistake by thinking that programming and math are the same, except that programs get "checked" by computer. That's like claiming that video games are more physically demanding than sports because the rules are enforced perfectly.

Math is about understanding why something is true. A program that uses or applies a mathematical idea rarely (never?) contains a proof of that idea's correctness. For a mathematician, testing is insufficient evidence for truth. Proofs are universal and they generally apply to an infinite number of cases. There is a deep qualitative difference between conceptually understanding why something is true and checking a finite number of cases, or even implementing a procedure to check those cases. You can try to belittle mathematical methods by calling them hand waving or imprecise, but programmers are not even trying to do what they do.

I think the issue is not that mathematics is bad, but rather that it doesn't deserve the privileged place it has in the curriculum. Maths above pre-algebra is not generally useful, but instead it is only useful to those who go on to study the more technical subjects (e.g. engineering).

Maths is maths, and will always be a powerful tool. But the author is saying that most people need to learn problem-solving and logic more than they need to learn maths; for most people maths is useful only in that it teaches problem-solving and logical thinking. Thus, replace it with programming.

In my opinion, I think a far better idea would be to replace the 'computer studies' classes with programming. Most of these classes teach how to use Excel and Word, and if they do programming it's only a limited variety using Visual Basic. Modernise, guys!