"Making math fun" is fine, but most teachers interpret it as "mixing fun stuff into math, which is inherently painful and boring," because they're focused on the kids who aren't doing well. To them, making math fun is the same idea as bringing a clown into the pediatric burn ward: "Let's make this suck a little less." That attitude rubs off on the kids.
What those teachers don't get is that math is most fun when you are using solid, polished skills to explore an area where you're still learning. The teachers are stuck in the standard educational mindset, which is that getting enough practice at anything to develop polished skills is "rote" and horrible. Plus it slows down their curriculum. So they move on and just do some review now and then, and the mediocre students end up with no solid skills they can rely on. All their skills are a little iffy, so they can't do anything with confidence, and everything is stressful.
If I was taught programming in high school the same way I was taught math, I would've hated it, deeply.
Most of math was about number crunching and the application of arbitrary formulas to arbitrary equations.
I can imagine, 20 years from now, a high school student will have to solve the following question:
"Write a recursive function in C that finds the minimum number in an array of integers".
Then imagine the teacher himself/herself has absolutely no interest in programming what so ever, and is only teaching it because the board of education decided that children must learn it.
The above exactly the kind of exercise we were assigned in my high school's intro CS course. The course was taught by a math teacher.
BUT:
The school waited until a month before the semester started to tell the math teacher that she'd be teaching the course. Worse, they had already picked out a textbook that was filled with exercises like this. Worst of all, she had basically never done any programming before.
As time went on, and she actually had a chance to learn the material, this kind of coursework was replaced with more interesting and useful programming assignments.
I later took a calculus course from this teacher, and in that course, she actually took great pains to avoid repetitive problem sets; almost every problem she assigned was designed to teach us something different.
Repetitve exercises are likely easiest to assign and grade.
It's a reasonable way (the only way) to develop a skill -- even after you have a conceptual understanding of how to do something, you still have to practice a little bit at it. Practice is required first of all to clarify your understanding, but even then practice is necessary to polish your skill enough that you can use it to accomplish something. (I.e., you have to be able to execute the skill and have enough attention left over to understand something else.)
So many problems in education come from the stigmatization of anything resembling practice as "rote" and "unstimulating." When you stigmatize repetition, you make it very hard to develop skills. In effect, students are expected to develop "understanding" (the fun, easy part) without developing any skills (the boring, repetitive part.) Unfortunately, working without any polished, dependable skills is awful. It's anxiety-inducing. You have a little bit of doubt about every single step, and as you complete step after step, your confidence in getting the right answer goes down and down. Having a set of solid skills gives you base of confidence, a security blanket that reassures you while you tackle new ideas.
Most people find first year of computer science very hard. For me it was easy, but plenty of people found it hard, and I think many people changed majors because of that.
Now imagine if it was mandatory in high school. Teachers probably won't understand it much. The curriculum will probably focus on "formula"-like things (perhaps, patterns?), syntax maybe, and a whole bunch of boring details, and ignore the most important part: problem solving.
Students might study (read: memorize) all kinds of functions for doing things.
Grade 8: loops for sorting numbers, loops for finding min and max numbers, loops for calculating factorials. for-loop synatx in C. for-loop syntax in python.
Grade 9: recursive functions for sorting (e.g. merge sort), recursive functions for calculating factorials, recursive functions for finding min/max numbers in a list.
I only realized this very recently, but math has a lot in common with computer science. Its core is about problem solving. Unfortunately, that's not how it gets taught in high school. In high school, math is a set of arbitrary formulas you have to memorize and use to "solve" arbitrary equations. We were given a lot of "practice problems"; they were the most boring thing in the world. They didn't teach you anything; their only purpose is brush up your muscle memory so that when you see a problem of the form "A B C" you know which formula to use and how to use it.
Problem solving relies on a lot of muscle memory. Imagine doing a calculus problem when you have to painstakingly work your way through every algebraic operation:
Okay, what problem was I solving again? What does this have to do with what I was learning? What was I going to do next?
When you have to concentrate on grouping and reducing polynomials, it's next to impossible to solve any kind of interesting calculus problem, much less learn anything, because you don't have any time to think about calculus. It's boring to do math that way, not to mention anxiety-inducing, because you spend all your time worrying about getting the old stuff right. But that's the way teachers are supposed to teach math: once the kids can work their way through one kind of problem somewhat reliably, they are supposed to move on before it becomes routine. That leads to a pretty sorry state of affairs -- the kids have to think hard about everything they do. You shouldn't think hard about algebra while you're doing calculus. When you can do the algebra quickly using your muscle memory:
x^2 + 3x - 3x^2 + 3x + 5
-2x^2 + 6x + 5
Then you get to spend your time actually thinking about calculus, the stuff you're supposed to be learning and exploring.
The thing about problem solving is that it's just one end on a continuum from exploration to mastery. When you say "the core of math is problem solving" you're basically saying all the fun and glory is in exploration. It's true! I don't disagree at all. All I'm saying is that you can't have exploration without mastery, because you explore new territory using the tools you've previously mastered. Trying to learn calculus when you haven't mastered algebra, when algebra isn't part of your "muscle memory," is backwards and frustrating.
My favorite example of this is freshman college physics. Different people have vastly different experiences of freshman physics. For kids who are pretty good at calculus, freshman physics is amazing. It's a year-long parade of learning cool, powerful ideas and using them to solve challenging problems. For kids who haven't mastered calculus, freshman physics is a horrific calculus death march. They spend ten minutes setting up some equations (the only part that relates to the fascinating new stuff they learned in class) and then spend an hour trying to make the answers come out right. They spend ten hours doing the weekly problem set and wonder why it's so boring and why they're having such a hard time learning physics. It's because in that ten hours they spent one hour thinking about physics and nine hours struggling with calculus! When students spend ten hours working and only get one hour's worth of exposure to the course material, it's no wonder they struggle in the class. The kids who enjoy physics are the ones who spend ten minutes setting up the equations and then five minutes solving them. Those kids get to spend most of their time thinking about the fun stuff: interesting concepts and problems.
The difference is that the first group of kids "sees a problem of the form 'A B C'" and just solves it. The second group of kids, when solving the calculus equations, has to think through the concepts and "problem solve." That would be great if they were learning calculus, but since they're trying to learn physics, it's an interruption that detracts from their learning. A skill has to feel routine, even boring, before it can serve as the basis of learning another skill. Shaky fundamental skills are like the intrusive noises in "Harrison Bergeron" -- they make it very hard to maintain a coherent train of thought about anything else.
So you can't problem-solve and have fun in freshman physics until calculus is routine. How do calculus computations become routine if, in calculus class, the teacher is supposed to stop drilling you as soon as you figure out how to think your way through each problem? If the goal is for the computations to become routine, then boring practice problems are exactly what you need. (I suspect in your case, the problem was that you needed less practice than the other kids, and you had to keep practicing long past the point where it really would have been appropriate to move on.)
You might say that if some kids are never going to go beyond calculus and will never do any hard-core science coursework in college, then it's appropriate to just teach them the concepts of calculus and not worry about their ability to solve problems. Well, that's fine. But they will have a hell of a time learning the concepts of calculus if algebra and trigonometry monopolize their attention. The only class where it is appropriate to shoot for "understanding" without skills is the last math class a student will ever take.
The details are important, but high school maths focuses only on the details, and the bigger picture is always lost.
What you're saying is true; practice is important, and muscle memory is important, but they are details.
I hated high school math because there was never a bigger picture.
I actually liked elementary and junior high math (I didn't study it in North America, but in the Middle East. Not sure if that's a part of the reason).
Some of the high school math was tolerable, but a lot of it was just details details details with no bigger picture behind it what so ever.
What I'm saying is, if computer science was taught in high school the same way math is taught, students won't learn how to program at all. They will just hate it.
To use your physics example. First year physics in my University was pretty much the same as high school physics (at least the courses I took). In high school, I had the privilege of having a really good physics teacher (IIRC he had a Scottish accent). He focused more on the theories and the ideas. His teaching style focused more on problem solving than just formulas. I liked his course and did really well in it.
In contrast, the university physics course was horrible, in the same way that high school math was horrible. It was boring as hell. I was just so disengaged that I think I got a D and had to retake the course.
> Different people have vastly different experiences of freshman physics. For kids who are pretty good at calculus, freshman physics is amazing
Absolutely. For me, freshman physics was one of the easier classes in college, and I could not for the life of me understand why so many people hated and complained about it. Then one day it hit me: the reason most people couldn't do physics is because they had a hard time doing the the math part and the mental "back of the napkin" calculations required to solve many problems.
Exploration is most fun when you are just about to get to your destination. Ninety percent of the time, however, exploration means enduring shitty weather, eating canned food, sleeping in tents and whatnot, and suffering through the terrain.
You're right, and I think that's why it's a very optimistic question to expect. The current math textbooks have questions that are ridiculous and pointless for everyone, whether they're interested in math or not. Why expect future CS textbooks to be any better?
it's kind of my point that it would make them bad questions. :) I think expecting a public school textbook to ask questions that require thought is really optimistic.
I feel like math teachers have a fundamentally different task than coding teachers. Everyone needs at least a low level of proficiency in math - being able to make change correctly and balance your checkbook. Not everyone needs a low level of coding proficiency.
If you've reached the level in your education where you need to learn to code, then you've probably already advanced past the point where everything has to be presented as "fun" before you'll learn it.
Hey, there was a time when most people could get by just fine without even knowing how to read and write.
With the proliferation of computers into every aspect of life, it's not unimaginable for programming to be considered essential knowledge that should be taught in schools.
I'd agree with you if it weren't for the iPad. Computers have proliferated, but they're also evolving in a way that makes programming knowledge less important (at least for the majority of people).
I'm sure that's how basic math proficiency was viewed in the past. These days almost everyone would benefit from some rudimentary knowledge of programming, but it's not yet viewed as essential. Every day I see people doing repetitive manual tasks on the computer that could be automated with just a tiny amount of basic shell scripting. How long before this is taught to all kids in primary school, and facing many of the same problems as math today?
I agree - there's no question that lots of people would benefit from even a little coding knowledge! But computers are evolving in a direction that makes coding knowledge less useful - shell scripting is irrelevant in a world full of iPads. In that future, the only people who need any coding knowledge would be the folks who write the software for the iPads and such, but the idea of teaching everyone BASIC in middle school just to introduce them to programming (like I was) would be pretty quaint.
I don't like that future, and I don't know how we'd get kids interested in programming in that future. But returning to the topic, I don't foresee a near future where something similar happens to basic math knowledge.
> But computers are evolving in a direction that makes coding knowledge less useful
This is the market finding its way somewhere. The whole industry has a problem, in that there are different classes of computer use but the industry keeps trying to produce a single flavor of product.
There needs to be recognition that a highly productive work UX is not the same as leisure time UX. Why should a simple touch interface for consumers hamper my programming/science/processing needs? Why should a powerful, flexible environment be forces on people trying to shop, FB/twitter, etc.? And why, oh why, does anyone think that a single interface can answer everyone's needs in anything but a truly suboptimal way?
My oldest son has dyscalculia and just sucks at crunching numbers. He had a terrible, terrible time with math in public school and really hated and dreaded the subject by the time we pulled the kids out to homeschool. It was clear to me he would not be able to memorize his way through math like his mom had. (I was in my thirties when I discovered some of this stuff had actual uses. sigh) My top priority for math with this child was to teach him "math is your friend". He's a science geek (which is tough when math is not something you are good at) and loves physics. He taught me most of the physics I know (speaking in little words and repeating himself a lot) when he was 14, which stood me in very good stead when taking certain college classes later on.
A few things we did:
Chapter books, full of discussion about math and light on formulas.
Let him choose a statistics track over an algebra/geometry/trig track. (We did some algebra and geometry but not too much.)
Read about halfway through "A tour of the calculus". I dropped out of calculus my first quarter in college and never wanted to see the subject again, after having been inducted into Mu Alpha Theta in 11th grade. He would spend an hour on this with me because it was the only math that made more sense to him than to me and he was happy to watch me get a headache (which I played for all it was worth). This book was chosen because he loves physics and calculus is the math of physics and because calculus really requires you to learn all that algebra/geometry/trig stuff he wanted nothing to do with. I knew I had won the battle when he was whining and complaining one day about not wanting to do math and then got all perked up at the idea of working on reading a couple more pages of this book with me.
We also did "fun" stuff, like card games and such in place of workbooks and that did have some value. But reading part of "A tour of the calculus" was the single biggest thing I did to get him past this mental and emotional block. Which I guess largely agrees with this article, though perhaps framed a little differently.
Hmm. Finding maths so dull was probably one of the main reasons that I didn't peruse a degree and CS or physics. Which was a disastrous decision for me personally. Not that I just couldn't face studying anything unexciting per se, but that I (wrongly) assumed that if I didn't find something interesting then i could never be sufficiently good at it. At high school I was 'streamed' into one of the lower tier math classes, which I resented - result was getting a higher mark in the end than most of the top-tier students. But perhaps I would have been better off in a more advanced class where I'd struggle more but at least find the stuff interesting.
Anyway my point is it's a shame to turn people away from maths by offering such stale curriculum.
Eeee, when I were a lad, maths weren't fun! You did 14 hours down't mine and only then were you allowed to try yer 'and at partial differential equations. And if yer got one wrong'un, teacher'd beat you with a wooden pole (etc etc) (yorkshire post, scnr)
>But I’m convinced that almost anyone can be drawn into maths if they are presented with something intriguing or surprising which prompts them to want to investigate
That's what I used to think when trying to get other students into programming -- like getting a kid do say 'Holy crap, I just created multiplication'. But it doesn't seem to work that way.
I've come to be used to the concept that other people think on a completely different plane than me, so it's pretty hard or often just doesn't work at all to try to find this 'intriguing or surprising' thing that can get them others to be interested.
I agree with you. But I have to add that there's a big difference between math anxiety and disinterest in pursuing a graduate degree. There's nothing wrong with someone choosing to pursue something else even when shown the intrigue and beauty of math (or programming). But there's everything wrong with the mind-numbing approach to math taken now.
It was the thing that really made math fun for me. So sure, stop telling kids that "math is fun", but don't stop trying to make it interesting; it's definitely possible.
What those teachers don't get is that math is most fun when you are using solid, polished skills to explore an area where you're still learning. The teachers are stuck in the standard educational mindset, which is that getting enough practice at anything to develop polished skills is "rote" and horrible. Plus it slows down their curriculum. So they move on and just do some review now and then, and the mediocre students end up with no solid skills they can rely on. All their skills are a little iffy, so they can't do anything with confidence, and everything is stressful.