Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Back to problem of American math schooling. Here is my prescription: just make the damn students do it. Require them to work on math. Forget about the whole, um, personality and uniqueness and whatnots. You know where these things are from? The toil of work (for students, that's studying) builds personality, values, and one's importance and uniqueness. You know where self esteem is from? It's from holding a piece of paper on which a problem has been solved and solution has been neatly presented; it's from the overcoming of frustration and challenges that the problem presents. Artisans take pride and esteem in their works. Students take pride and esteem in their tests and homework (except when you tell them that the football players will get the praise, the money, and the sex, and only these 3 things matter). Stop worrying about overworking them. Actually, overwork them to the ground. Leave them no energy and time to experiment with drugs and sex and alcohol.

Um, no, this has nothing to do with hard work, and everything to do with the way mathematic is taught. I am a programmer and I would love to understand mathematics the way I understand programming. There got to be far more to mathematics than simply learning how to follow steps.

As a programmer, I write, debug, fix and improve code. With math, I don't understand why am I merely following steps when computers can do it at far higher reliability than I could.



I agree with what you are saying. I've been contemplating the reasons why I don't understand math the way I understand programming for some time, and opened up my old Calculus book a few days ago and started rereading it from the beginning. I intend to work through the entire book over the next couple of months. I believe because of the way math is taught, I never developed a truly intuitive understanding of what was going on after algebra. When I taught myself how to program, I learned then immediately applied what I was learning, and continued applying it continuously in all the software I wrote after. Algebra and arithmetic are pretty analogous in that regard.

For me, it is necessary to develop an intuitive understanding of something before I can really appreciate it, and more importantly, manipulate and apply it to arbitrary situations. The way math is taught, intuition is never really delivered. In programming, it's possible to look at an algorithm and have trouble understanding what it does. However, I have never implemented and debugged an algorithm or data structure and not developed a thorough understanding of it in the process. In Calculus, the rules were given, but there was never any effort spent to foster an understanding of why they are the way they are, or the bigger picture. To me, this would be like learning merge sort by running through the steps, but never actually implementing the algorithm as a whole to truly understand what is going on. In going back through it, I intend to relearn it the way I learned programming, so I can truly apply and reason around such a powerful tool.


Try "Calculus Made Easy" (http://www.gutenberg.org/files/33283/33283-pdf.pdf) -- it was Richard Feynman's first calculus book, and it explains things in a way unlike any other book.

Here is a famous quote where he references a passage from the book's prologue:

"Right. I don't believe in the idea that there are a few peculiar people capable of understanding math, and the rest of the world is normal. Math is a human discovery, and it's no more complicated than humans can understand. I had a calculus book once that said, 'What one fool can do, another can.' What we've been able to work out about nature may look abstract and threatening to someone who hasn't studied it, but it was fools who did it, and in the next generation, all the fools will understand it. There's a tendency to pomposity in all this, to make it deep and profound." -- Feynman, Omni 1979 (http://c2.com/cgi/wiki?FeynmanAlgorithm)


Learning Haskell is a great back-door way to learn about math, specifically abstract algebra and category theory. You'll learn about why it matters and make tons of connections between subjects you never thought were related. Plus, coming from a programming environment gives you the context you need to understand why people care.


Road to Logic: recommended, and only about $25

http://homepages.cwi.nl/~jve/HR/


There got to be far more to mathematics than simply learning how to follow steps.

Nope, that's really all there is. Just like computer programming is nothing but learning to string arcane commands together in anal retentive ways. It's just a lot of making variable names and putting data in them and using little symbols like "argc" and "foldl" and "fopen" that have excruciatingly dry definitions that are completely disconnected from the real world. You memorize rules of syntax and look up function definitions and follow all of the rules exactly correctly, and even after you've done what feels like a ton of that you're still just writing a dumb program that you would never use anyway. What's the point?

But I bet you didn't feel that way about programming when you were first learning, right? Things like foldl and dlopen seemed kind of neat, if not mind-blowing. People who become good at programming get there because they take delight in the simple things that make up the basics. Is there anything intrinsically beautiful about loops? There is the first time you encounter one. Oh, man, the possibilities! The feeling passes quickly, but I can't imagine how anyone who never enjoyed loops could endure the boredom long enough to become skilled at programming.

It's the same thing with math. Like programming, it really is just symbol manipulation and nothing more. The pleasure and beauty is in your perception of it, the concepts you develop to give intuitive substance to the abstract rules. Your appreciation gets deeper the more you learn. But to get there you have to enjoy the basics, the simple things. How many times did you have to write

  for (i = 0; i < m; ++i)
before it became second nature? You must have derived some satisfaction from your initial fumbling with loops and functions or your interest would have died before you learned to write more complex programs. (The kids who don't enjoy the basics quit programming as soon as they realize they won't be making a state-of-the-art video game in a weekend.) Learning math is the same process; you start by enjoying where you are, even if you're starting at the mathematical equivalent of

  for (int i = 0; i < 10; ++i) {
    System.out.println("I love cake " + i + " times!");
  }
That may not sound very attractive to an educated person with many sophisticated things to think about. It's entirely possible that there are some people who are not simple-minded enough to enjoy math. However, I think those people do not enjoy programming, either ;-)


Like programming, it really is just symbol manipulation and nothing more. I strongly disagree. Arithmetic, perhaps... but not "math."

Some of the best math proofs require little-to-no direct symbol manipulation. You might be able to reduce a mathematical statement down to the symbolic level (eg. using sets), but so much of the beauty is in the simple intuition. One simple example: the pigeon hole principle -- you can teach it to a 3 year old, and yet its incredibly powerful.

EDIT: If you read about Lockhart's Lament (as mentioned elsewhere in this thread), he specifically writes:

The cultural problem is a self-perpetuating monster: students learn about math from their teachers, and teachers learn about it from their teachers, so this lack of understanding and appreciation for mathematics in our culture replicates itself indefinitely. Worse, the perpetuation of this “pseudo-mathematics,” this emphasis on the accurate yet mindless manipulation of symbols, creates its own culture and its own set of values. Those who have become adept at it derive a great deal of self-esteem from their success. The last thing they want to hear is that math is really about raw creativity and aesthetic sensitivity. Many a graduate student has come to grief when they discover, after a decade of being told they were “good at math,” that in fact they have no real mathematical talent and are just very good at following directions. Math is not about following directions, it’s about making new directions.


Be fair. I do get around to saying there's more to it. Why, it's in the very next sentence after the one you quoted :-)

The pleasure and beauty is in your perception of it, the concepts you develop to give intuitive substance to the abstract rules.


That seems to imply that the pleasure and beauty of mathematics is in the way one perceives symbolic manipulation. I actually think the pleasure and beauty of mathematics is in the stage before one gets to manipulating symbols; the stage where you have an idea about something and are thinking about ways to communicate it or prove it. People should be given problems ('how much of this box does this triangle take up?' to paraphrase Lockhart's example) and allowed to drum up their own solutions/syntax.

Admittedly, this is kind of idealistic.


Programming is about architecting superior solutions to problems.

How then is it purely symbol manipulation? There is an intelligence required to imbue them with semantics and combine them into the right order to match the semantics of a correct solution.

Loops, variables, constants, etc. These are building blocks. One doesn't have to find them inherently interesting. The real challenge of programming comes from imbuing them with the right semantics.

The same can be said for mathematics. Sigma notation isn't interesting. It's what you use it to represent that is interesting.


Apparently I fail at irony :-) Since we are mostly programmers here, I meant people to read the second sentence, say, "Wait... what? That doesn't do it justice," and then reread the first sentence in light of their understanding of the difference between what computers do and what programmers do. Symbol manipulation is what we design our computers to do, and the power of mathematical systems can be described by mathematical logic, which reduces mathematics to symbol manipulation, but what goes on in our heads as we work with these systems is very different.


>this has nothing to do with hard work, and everything to do with the way mathematic is taught. I am a programmer and I would love to understand mathematics the way I understand programming.

How much of your understanding of programming has to do with:

a) teaching/exercises in a class

vs

b) time you've spent hacking on programs, either for a job, or in your spare time

?

Now, how much time have you spent on mathematics compared to time you've spent on programming?

The grandparent's point seems to be that fretting about not having "royal road"[1] is less productive than just spending time working with the ideas.

Good pedagogy can make a difference in how far you get in the time you spend, but there's just not a substitute for putting time in.

--- [1] http://en.wikipedia.org/wiki/Royal_Road#A_metaphorical_.E2.8...


For me it had a lot to do with who taught my math classes. Out of all of my high school math teachers, I'd say less than half really understood what they were teaching beyond the most superficial depth. (It was even worse in my science classes.) I love teaching and would have preferred that as a career but the pay scale is really discouraging even at the university level. So now I build educational apps and hopefully can be part of the solution.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: