So, maybe it's just because I'm a Perfect Little Unique Snowflake, but I never had any problem understanding fractions. Multiplying fractions is not always intuitive, but it seemed to yield pretty easily with a few examples over time. Dividing fractions the same, only more so.
As for algebra, pretty much the only time I've had to deploy it seriously in a work context was for my brokerage job, and even then, it was pretty basic stuff. That didn't keep the brokers from getting confused of course, but many of them were basically just a salesman mask on a lizard.
I wonder if being in Montessori school from ages 2-7 was helpful for algebra and fractions? All of those tactile counting methodologies must have had some positive effect, right?
maybe it's just because I'm a Perfect Little Unique Snowflake,
It really is. It's an extremely difficult topic for most people. How do you explain intuitively what it means to divide by 1/2? (There are clever ways to explain this, but it's a much more difficult thing to grasp than dividing by 2.)
What I've been trying to figure out is how you can possibly to political science without understanding regression, and how you can possibly understand regression without knowing algebra.
Call me an old fogy, but this new-fangled algebra thing messes up young minds with abstraction and irrelevancies. From the name, it is likely an Islamist plot anyway.
Give 'em four years of geometry. Or three years geometry and one year trig.
I would really like to try an experiment of limiting the education of youth to the trivium through grade school, and nothing but the quadrivium through high school.
And a library. Used to be, ideally, kids were taugh how to think rather than what to think.
Grammar is concerned with the thing as-it-is-symbolized,
Logic is concerned with the thing as-it-is-known, and
Rhetoric is concerned with the thing as-it-is-communicated.
Derrida, Whitehead, MLK?
The problem is that they build up to rather difficult problems that terrify the students and still only involve this one isolated skill
This gets at one of the big problems. I remember in high school algebra it seemed like all quadratic equations all the time. First factoring simple ones and/or multiplying polynomials (yeah FOIL!), then increasingly complicated higher order expressions. This went on and on. I remember endless homework sets of this with no context whatsoever.
How do you explain intuitively
I remember, at some point, helping tutor a HS student in algebra and getting excited explaining that the equation and the graph represented exactly the same thing. They were just different ways of looking at it which were useful in different ways. It's one of those things which I found completely intuitive and genuinely exciting and which I couldn't explain at all (I'm not sure I was a particularly good tutor).
(I'll again recommend Number: The language of science which does a good job of describing the Cartesian plane as one of the great inventions of human culture.)
And now linear algebra is an important part of what I'm working on.
"I'll never use this stuff anyway!"...heh.
> one year trig.
Trig without algebra seems like a bad idea.
How do you explain intuitively what it means to divide by 1/2?
Here's a block. Cut it in two. Now you have two half-blocks.
How many half-blocks are there in a block? Two.
So, how many half-blocks are there in seven blocks?
One thing that I keep struggling with is that 90% of all curriculum decisions are based on inertia - it was done this way by some important prep school in 1890, and people became attached to it and built up complicated rationalizations assigning value to a rather fickle initial precedent. (For example, geometry is taught in high school because the headmaster in some Boston prep school had a hard-on for ancient Greeks. Yes, it's useful. So is statistics.)
So this becomes a problem because we're being asked to assess and defend every little thing we do. But I am not going to single-handed up-end a century of tradition. Everyone expect a calculus course to look a specific way, even if it's got a lot of stupid elements. So I'm trying to justify/assess/defend a system which is largely stupid, because one little cog is not in any position to re-invent the wheel that it's lodged within.
Same here. I do not understand the relevance of your observation.
Oh. Well, guy who wrote the article is a political scientist. Ergo, he must have made use of algebra on some level, right? Is there a thing here where having read the article would help me make more sense?
3, 10, 11, 13: I learned most of my math in Poli Sci.
Here's a block. Cut it in two. Now you have two half-blocks. How many half-blocks are there in a block? Two. So, how many half-blocks are there in seven blocks?
Absolutely, and a lot of descriptions go this way. ("Use a half-cup measuring cup. How many half-cups can be filled from this pitcher of 7 cups?")
But notice how much you've inverted the grammar of a typical division problem. "Dividing by 2" is usually taught as "Divide the pile into two groups. How many items are in each group?"
What you've said is "Divide the pile into groups of a certain size. How many piles do you have?" Which does not obviously fit the pattern that you would establish with the "dividing by 2" example.
I feel like this kind of conversation is always dominated by people who chose their profession because it didn't require them to do math and are now announcing that math is unnecessary because they don't use it in their job.
Also, even if you aren't using algebra directly, isn't their a huge benefit from learning to think at that level of abstraction and rigor? Of course, this might be better served by the more detailed curriculum heebie-heebie suggests. But then again, heebie si the exact opposite of the sort of person I get annoyed with in these debates.
I have no idea if 16 is of relevance, but a large number of the older political science faculty weren't happy about how math-y the field had become.
geometry is taught in high school because the headmaster in some Boston prep school had a hard-on for ancient Greeks.
I thought there were centuries of prep school teachers in England and America with a hard-on for the ancient Greeks. (And I confess that the Greeks still make me feel a little tingly.)
It's annoying because algebra courses really are a giant clusterfuck, but this guy has no idea why, and is identifying not much of anything but acting like he's got a really great handle on a problem that no one has any idea how to solve.
21: I think so! There's one guy in Boston, though, who is personally responsible for cementing Geometry as an indispensable core course of any respectable high school sophomore.
It does strike me as funny that his example of algebra is:
But there's no evidence that being able to prove (x² + y²)² = (x² - y²)² + (2xy)² leads to more credible political opinions or social analysis.
That's very far removed from how you might use algebra in nearly any field. You solve equations instead of demonstrating proofs.
If we ditch algebra can we replace it with probability and statistics? Lots of each, so that maybe people can start evaluating risks better and we can spend less money on stranger danger and more on defensive driving.
I had a teacher who remarked to us when we were about 7 or 8, "Dividing is like multiplying backwards" or some such expression - I don't remember her exact words, but the point was that multiplying and dividing weren't independent mysteries that had to be mastered entirely separately, but one was just the opposite of the other. She didn't make anything much of it at the time, but shit it was useful later on.
The first people to have a hard-on for the ancient Greeks were the ancient Greeks.
Again, how on earth do you learn statistics without algebra?
I feel like this kind of conversation is always dominated by people who chose their profession because it didn't require them to do math and are now announcing that math is unnecessary because they don't use it in their job.
I work with a lot of those people, and they're largely right -- you can be a very successful lawyer without being able to do arithmetic reliably, let alone something complicated like a percentage. (You want access to someone who doesn't blanch at the sight of a number, but it's not a significant hardship being unable to do it yourself.)
Which makes me think that heebie's right about treating high school math as a series of service courses for people who are interested in going forward with technical subjects, including more math. There's no strong reason to worry about teaching the kids who aren't going down that track much of any math at all, given that under the current system they don't retain any and they manage all right.
28: I genuinely have no clue, but we do offer a statistics course which does not have an algebra pre-requisite.
You can teach probability without algebra, maybe.
I don't see how you teach any sort of computer programing without some grounding in algebra.
I'm being a little Slate-contrarian in 29 -- I guess what I mean by it is more that there's literally nothing to lose from changing the current system for the kids who aren't going forward in a math-heavy area, because right now I don't think they're getting anything.
There's no strong reason to worry about teaching the kids who aren't going down that track much of any mathsubject other than reading at all, given that under the current system they don't retain any and they manage all right.
20:
Alas, Frisch was there to point out that since the Greeks it has been accepted that one can never say an empirical quantity is exactly equal to a precise number. Given his aim, this was a deadly blow to Kalecki [...]. (Goodwin 1989, in Sebastiani 1989: 249-250)
From Michal Kalecki, Julio Lopez, 2010
I am well aware of the use and abuse of regression analysis in at least one social science, economics. A rhetorical device of the debbil.
Assigning a name, like "GDP," and them attaching carefully chosen and mangled numbers to that symbol is a political act of detaching from reality for purposes of persuasion and control.
And this is why we should teach children critical thinking well before "facts."
My job doesn't really call for anything higher than arithmetic (built up into very complex models), but I have been able to make use of algebra and even calculus to better understand it how its end results change based on change to components.
I have pretty much forgotten how regression works algebraically, but still think I understand it well enough in practice.
My thoughts on this are complicated by the fact that I totally fail to empathize with otherwise functional people who find math at this level difficult at all. I know it's hard for lots of people, but I really don't get it, which makes it hard to see what to do about it.
You can be a good lawyer without knowing math, but you don't want to lock half your population into going into law their sophomore year of high school because math is hard.
But law isn't a freakishly unusual profession in terms of being able to get by while innumerate -- "When am I ever going to use this in real life?" is a cliche because it's true for more people than not that they can get by without needing to know more math than how to count their change.
Probability is a great topic which doesn't require algebra for a lot of the beginning material. You start off spending a lot of time learning to count up possible ways, and then start working with fractions. (in practice, probability textbooks have the same stupid issues as algebra textbooks - isolated skills are never integrated, and students are terrified by excessively difficult problems which distract from full mastery of easier problems.)
Heebie's on fire here, both in the original post and in 2 and 22. I agree with basically everything.
It never ceases to amaze me how overpacked the high school curriculum is in science. People have to "cover" way too much material, and the result is that no one learns any of it. I think one of the big drivers is that too few high school science and math teachers understand concepts deeply, and so they're more comfortable superficially "covering" material.
One other point though, is that part of the reason that math is used as a weeding out course is that weeding out is sometimes actually needed. If it weren't calculus deciding who gets to go to med school we'd just have to invent something.
39: is that really true? I mean, I guess I can think of some job categories where it doesn't matter (retail? Some journalism/) but it seems like you're going to be better prepared for almost any office job if you can get your head around (for instance) formulas in excel.
What I think we should be teaching people instead of algebra is writing simple code. It covers a lot of the same material while giving you a skill that's obviously valuable. I bet even in law being able to use formulas in excel is a valuable skill.
That was an unexpected pwnage.
If it weren't calculus deciding who gets to go to med school we'd just have to invent something.
I believe it's called Organic Chemistry.
Come to think of it I don't remember if I learned to program before taking algebra. I guess probably so?
8:Trig Without Algebra? Geometry + Arithmetic?
I was good with calculus and elementary statistics but always sucked at trig.
I believe it's called Organic Chemistry.
This, and biochem, etc. Which is hugely fucking annoying for people taking the classes who aren't pre med.
It's a national disgrace that we require calculus for premed students but not statistics.
Which makes me think that heebie's right about treating high school math as a series of service courses for people who are interested in going forward with technical subjects, including more math. There's no strong reason to worry about teaching the kids who aren't going down that track much of any math at all, given that under the current system they don't retain any and they manage all right.
The standard counter-argument is that once students stop taking math, it becomes extremely unlikely that they will resume. For example, non-traditional students who need a math class often have a terribly difficult time. (Maybe that's why they avoided it the first time around. Who knows.)
There's a false dichotomy - a student need not stop taking math classes if there were more useful classes (programming, statistics) available. And everyone eventually stops unless they're mathematicians. So it's a flawed counterargument, but one that people make.
Anyway, now I'm really off to go hiking.
Anyway, now I'm really off to go hiking.
If you insist on going hiking, you might find yourself becoming sore and eventually give up walking entirely.
What branch of math should people study to learn that you can't balance the budget by cutting taxes?
The innumeracy does show up in people's lives, though. They may be managing their jobs, but maybe a basic innumeracy is part of why people didn't understand what kind of damage a second mortgage could do, or what a 28% interest rate on credit card debt means. I fully acknowledge all the other structural factors that led to the recession, and don't mean to be victim blaming. I don't even want to distract from this conversation. But savvy people who do their jobs without math can still be getting in real trouble because they don't automatically do double checks in their heads when they hear numbers.
Though I guess as long as physics is required you have to take calculus, because physics without calculus is kind of silly.
We could just slot in a load of logic and philosophy, if we want a gatekeeper subject. Kidding, but philosophical skills woukd be much more useful than, say, high school chemistry.
Trig Without Algebra? Geometry + Arithmetic?
I just think that manipulating trig functions is a big part of trig and that algebra is the best place to get an grounding in the idea and importance of functions in general.
3, 16: I do no math in polisci. None.* But, to be fair, I could if I wanted to.
*Not a popular position on this side of the Atlantic, but I'm a weirdo, theory-oriented type.
That's how you get a population that cannot think at all because it has never had to deal with abstract concepts.
But law isn't a freakishly unusual profession in terms of being able to get by while innumerate
But we can all have those jobs either. Some people need to know how to design and build things. These aren't unimportant job tracks.
I do find algebra pretty useful for analyzing relationships in general, never mind simple things like converting from celsius and figuring out when a flat fee or a percentage is a better deal. And it's super-useful for chemistry, which is basically the algebra of stuff.
P.S. I definitely learned to program before learning algebra. QuickBasic ftw.
I used a non-negligible amount of math in various legal documents and spreadsheets and whatnot before I was ignobly expelled from the professional class. Maybe that was my problem.
QuickBasic ftw.
A low probability phrase to be sure.
To take the flip side of the argument, I can't believe that there isn't some way to teach math that will make it accessible and non-threatening to the bulk of high school students (which might help with the numeracy problem, and the problem where it's very hard to restart once you've stopped.)
I have a pet theory, based on very little other than observation of elementary school teachers, that math-hating/fearing/failing-to-understand elementary school teachers are a significant problem: that there are enough of them out there that most kids spend at least a year or two in grade school with a teacher for whom the math they're teaching is difficult and unpleasant. The kids pick up that sense from the teachers, and then the ones who are having even a little trouble know that it's acceptable and ordinary for responsible adults to be afraid of math.
But savvy people who do their jobs without math can still be getting in real trouble because they don't automatically do double checks in their heads when they hear numbers.
I agree, that's the real goal. I'd guess that HS math is very bad at training people to do that -- for the reasons that Heebie has given in this thread.
Speaking of which here's a heartwarming story about getting kids comfortable with math early.
Our third child, when he turned two, started yelling that he wanted a math problem, because he saw his brother and sister doing them. And it made us realize, wow, we have a household where math is fun. It's the sought-after thing at bedtime.
I think a hugely important factor in getting people to develop that "sanity check" reflex with numbers is growing up around people who are comfortable with numbers, and the idea of back-of-the-envelope calculations. I don't think it's something you promote by changing the school curriculum (even if that helps), I think it requires changing the culture.
I will say that the elementary school curriculum these days (at least in NYC) is really big on estimation. I'm not sure how well they teach what the point of it is -- I think there's some risk that what the kids pick up is "Okay, do the problem twice. The first time, get the answer a little wrong" -- but I've talked ot my kids about it explicitly as immensely valuable.
I agree that it seems incredibly stupid to require geometry, of all things, and that the way algebra is taught is hugely counterproductive, and tends to scare away (and scar) more people than it helps. I'm also on board with the "teach them how to program, instead" idea.
I was tutoring kids in algebra this summer, and they were supposed to learn Descartes' Rule of Signs. What a stupid, pointless exercise. (Though I have no idea whether, in fact, their classes actually required it--this was a not-well-thought-out enrichment thing, where I was given some 15-year-old Texas textbook and told to go through chapters one at a time.)
I'd say I use some variant of algebra (even if just putting formulas into Excel) reasonably often -- maybe once or twice a month. Of course, I do the algebra badly because I'm innumerate.
My recollection of high school math is that it seemed like a game designed to winnow out a preternaturally gifted few by giving everyone a bunch of pointless exercises of increasing difficulty. The notion that it might be useful or important for anything at all, or to have any function other than identifying the kids who could do it well, really only dawned on me in college.
Also, this LAT story from 2006 about how an algebra requirement drove up dropout rates is worth reading.
18: But notice how much you've inverted the grammar of a typical division problem. "Dividing by 2" is usually taught as "Divide the pile into two groups. How many items are in each group?"
That's fascinating. Is it really taught that way? Not to question your expertise on how math is taught, but I don't believe I've ever been in a math class that used that metaphorical approach to division. I learned it in elementary school as "how many groups of x are in group y". That's why we were taught remainders (before we learned long division.)
Weird.
Doesn't the US have unusually pathetic math takeup among the rich countries? Most of which have their own breakup dramas with the ancient Greeks?
Also, any direct control over material life is likely to be improved by basic algebra & geometry. Fertilizing plants, framing a shed, drafting a dress; we've deskilled all of these, generally by dropping customization & being wasteful of material. Since we didn't get a Purple Wage in return, I'm not at all sure this was a win for the working classes; and destroying the skilled working class seems like one of the big problems with the US now.
but I've talked ot my kids about it explicitly as immensely valuable.
The key to having the ability to assess the reasonableness of an estimation isn't skill, per se, but confidence, and trusting your own ability to not get lost (or, at least, to recognize if you've gotten lost and stop).
I remember an example, a couple years ago, where I was chatting with somebody, relatively late, and I mentioned how hilariously funny Rogue Warrior could be if your were inclined to laugh at his general machismo. One example that I referenced from the book was him discussing training in High-Altitude, Low-Opening parachute techniques. They were supposed to open their chutes at x00ft (I don't remember). Instead he described falling and waiting until he was almost level with the deck of the aircraft carrier, giving a salute to the officer that he disliked and only then opening his parachute. The person I was talking to expressed skepticism that it would be possible to do that without killing himself.
I didn't feel like getting a piece of paper so I spent a couple minutes trying to work out in my head plausible values for terminal velocity, and the height of the deck of a carrier, and then calculating the required deceleration and came to the conclusion that it was reasonable. I couldn't prove that it was possible, but, as a first-order estimate, it wasn't unreasonable.
I remember this simply because I was surprised that I could come up with a number that I was comfortable. When I started playing with it my first guess was that there were too many unknowns, and I probably wasn't going to be able to reach an opinion one way or another. When I got a number I had this moment of pleasure, "I didn't know I'd be able to do that."
I suppose I get a lot of benefit from being able to think about numbers and their interaction intuitively. Like the insight that paying off my student loans faster gives a higher return than investing the same extra money.
I'm not sure how it was taught, but what I learned was, "There is no division, only reciprocal multiplication".
I'm with Sifu in 3 and 28. Statistics without algebra? Not possible.
51: I think that some of the schools were reviewing what should be included in premed requirements. Harvard might have been arguing for statistics.
I found probability immensely frustrating as a subject. I kept thinking that it didn't tell you much about the likelihood of any given event happening. Probability is defined a certain way by mathematicians, but it didn't seem like the right definition.
Probability is frustrating because our brains have wildly wrong intuitions about probability. That's also why it's so important to learn it.
80: It's been a long time, since I studied it, but things like random mutations on a gene seemed unlikely to me. It just struck me that there must be some chemical property of a particular nucleotide sequence which would make it more likely to have a mutation than others or whatever. We just were ignorant of it. Or alternatively, the penny might be slightly weighted so that it would spin differently and was more likely to land on one side rather than the other etc.
Probability theory is really interesting, I think. Plus, lots of people with cool names: de Finetti; Frank Plumpton Ramsey;* Kolmogorov, etc.
I think, as a general rule, we aren't taught enough intellectual history, both philosophical, literary, and scientific.
* all-round precious intellectual bad-ass
the penny might be slightly weighted so that it would spin differently and was more likely to land on one side rather than the other etc
81: That's sort of the beauty of probability. You don't need to know everything to know something important.
The moral of 85: Never, ever get into a craps game with the King of Norway.
83: That stuff sounds fascinating. I would have loved learning the theoretical basis, but that's not what they taught in the 11th grade. In fact, it was the lack of an explicit theoretical and philosophical rationale that irritated me.
86: Maybe so, but nobody addressed that explicitly.
You don't need to know everything to know something important.
This reminds me of "The fox knows many things, but the hedgehog knows one big thing."
I think one of the big drivers is that too few high school science and math teachers understand concepts deeply
A friend of mine is an Ed.D. with a focus on chemistry education. Her go-to example of the above is the shockingly low percentage of HS chemistry teachers who can explain the difference between melting and dissolving.
The fox knows many things, but the hedgehog knows one big thing: where the fox buried the bodies.
The innumeracy does show up in people's lives, though. They may be managing their jobs, but maybe a basic innumeracy is part of why people didn't understand what kind of damage a second mortgage could do, or what a 28% interest rate on credit card debt means. I fully acknowledge all the other structural factors that led to the recession, and don't mean to be victim blaming. I don't even want to distract from this conversation. But savvy people who do their jobs without math can still be getting in real trouble because they don't automatically do double checks in their heads when they hear numbers.
Yes, yes, yes, yes. Plus unit pricing, compound interest, and all manner of solving for x we do daily. Basic algebra is a critical life skill.
A White Bear has feelings about this. Feelings and thoughts and stories.
81: In theory, you can check. I assume that biologists have actually checked whether some nucleotide sequences are more likely to mutate than others. Part of the point of statistics is to give you tools to check.
94 (etc): I said this at the other place a bit ago, but *for real* it seems that a decent percentage of Republicans literally has no clue was a marginal tax rate is. (Not to mention the fact that I routinely read newspaper pieces that appear to have missed this boat as well.)
96: But, again, this was never discussed in my introductory class.
||
Blume, do you do some kind of QM stuff in your job. I am looking at applying for one at my company, because it would be a shorter commute and a lot more money, but I don't know whether I would want to stab myself in the eye with an ice pick.
|>
I would actually start teaching algebra in elementary school. The topic should be broken up and spread out over the whole elementary and middle school curricula. You can teach simplifying simple expressions immediately after teaching any arithmetic at all. For example, once you teach some one that 3 + 2 = 5, you can teach them if x is 3, then x +2 is 5. I'm actually doing this with my own children, so I'll let you know how it works out in 20 years.
The Excel point is an incredibly important one. The thing that kills a lot of people trying to get office jobs is not being able to use Excel.
This seems like a good idea: Bedtime Math. (Covered on NPR recently, in a story that mentioned a kid named Oggie, spelled that way and everything.)
100: My brother started doing that on his own in kindergarten and he is now in engineering school and as of today can drink legally. I liked the Bedtime Math NickS and Sir Kraab linked and may start that with the girls, though with stories and a song each plus now Frere Jacques, we're starting to max out our available bedtime time.
95 says a lot of what I have to say about the rhetoric of this argument and how dumb it is. It should be a surprise to no one alive that, when you have a problem that needs solving, you will use the tools you have rather than the tools you don't have, and that, of course, there are people who use advanced mathematics to solve problems in their life and work.
What I didn't really mention in that post is how classed and regional this all is. I'm in the midst of research project on historical numeracy in which my collaborator and I are reading all kinds of arguments about which people should get what skills, and from whom certain skills--especially math--should be withheld because those people can't learn it and don't need it, and we'd just be making them feel bad by trying to teach it. The author of this article is a City University emeritus prof, of which there are two kinds, IME. One is the kind who says urban public students deserve to learn rigorous methodologies in various subjects so they can compete on even ground with graduates of any university in the country. The other is the kind who thinks that "our kids" just can't do the things the richer whiter kids do, and we don't want to make them feel bad.
A lot of people I know get mad about Excel calling things functions, in their minds, inappropriately.
As much as I enjoyed reading your piece, AWB, 104 feels like an ungenerous parody of the argument. Hacker alleges that math education causes a huge portion of the dropout rate. If algebra proficiency structurally disadvantages "our kids" against richer whiter kids, and it's not obvious how to "teach it better," taking it off the table becomes attractive.
That said, by simplifying the algebraic expression in the article, we can reduce it to "people shouldn't have such poor parents." If everybody heard the dogwhistles I hear, we'd have socialism tomorrow.
We should of course be including Bob Moses's Algebra Project in this discussion. I don't know how they've ended up approaching the curriculum development questions heebie raises.
The Excel point is an incredibly important one. The thing that kills a lot of people trying to get office jobs is not being able to use Excel.
Counterpoint to the thread a couple weeks ago, where some techoid people interpreted the question about whether the job applicant is proficient in Excel and uses Excel all the time as asking "Is this job applicant so stupid that he uses Excel all the time instead of better software?".
with stories and a song each plus now Frere Jacques, we're starting to max out our available bedtime time.
Just wake them up again in the middle of the night, and then you have a whole extra "bedtime" learning period! I see no downsides to this plan whatsoever.
106: I would want to see some pretty hard evidence that efforts have been put into trying to teach math effectively at the elementary level. (As I wrote on FB, I've had at least one student who was trying to come up with innovative math pedagogy as part of his Ed program, and just got shut down over and over by his professors when he tried to demonstrate how he was taught in China. That's not how we do it. Do it like we do it.) Until the pedagogy catches up, haven't we learned that literacy jumps magnificently in children who are in homes where adults read themselves, and read to them? Isn't the same probably true of numeracy?
My parents recently visited and each drove up with a carload of old stuff of mine from their houses. One such item was a set of Cuisenaire rods. Other than the fact that they'll be a choking hazard for several years, I'm looking forward to putting them into circulation as a math toy for my kid.
112: oh I loooved those as a kid.
I loved those too. So fun.
Until last week, I didn't know about Napier's bones. I wish I'd had some growing up. I want some now.
112: More evidence for my theory that I was raised at the best of all possible cultural child-rearing moments and that any attempts I make at same will be snuffed out in an avalanche of horrible plastic crap aided by a parade of insufferable guidance.
111: okay, but right now, in many districts, it seems like requiring algebra causes more kids to drop out, without actually improving other outcomes. The requirement is something that can be dropped with a flip of a switch, so to speak. "Fixing pedagogy" isn't--and Step One on that route seems to always and everywhere be, "first, break the teachers' unions," with the innovative pedagogy showing up later if at all.
Although Heebie's post/comments have made me think that, really, it's geometry that's the real oddity here. WTF is with that?
do you do some kind of QM stuff in your job
I'm reading "QM" as "quantum mechanics" and wondering why Blume never mentioned this.
I found probability immensely frustrating as a subject. I kept thinking that it didn't tell you much about the likelihood of any given event happening.
This statement confuses me. The probability function doesn't give you likelihood, the likelihood function does.
Although Heebie's post/comments have made me think that, really, it's geometry that's the real oddity here. WTF is with that?
I have a vague belief that part of the point of geometry (once you get past the immediately practical perimeter/area/volume kind of stuff) is that it's the easiest, or at least the conventional, starting point for recognizable proofs.
120: Hrm. I guess that's something. But not very much.
You can also check your algebra against geometry.
Being able to visualize geometry is pretty foundational for trig and calculus, no?
I have a vague belief that part of the point of geometry (once you get past the immediately practical perimeter/area/volume kind of stuff) is that it's the easiest, or at least the conventional, starting point for recognizable proofs.
I would also, presume, that it can be an easier subject for visual learners. I am very much not a visual learner, but the technique for bisecting a line segment using a compass and ruler is one of the things I most strongly remember from HS math.
[Geometry is also a good introduction for why Calculus is interesting/helpful but that's not a reason to require it for everybody.]
You can also check your algebra against geometry.
Though, as I mentioned in 6, that isn't intuitive for most people.
...and, again, if you make physical things from scratch, geometry is useful and thrifty. I suppose shop class & mechanical drawing have gone the way of the dodo? I liked woodshop, was afraid to take machine shop, & loved mechanical drawing. Mandala for nerds.
I loved geometry. It was always my favorite part of math, and my intuition about things generally works geometrically. DON'T YOU TAKE THAT AWAY FROM ME!$#
High school geometry class was only incidentally about shapes and their relationships (actual geometry) and was definitely designed to be about learning to do proofs. It's pretty weird, since you can go for years of math classes after that without using the proof techniques. Intellectually expanding in a way, but I don't think I'd defend it as part of a better-designed math sequence.
Almost all college-bound people in my high-school took at least trig/pre-calc, if not calc 1-3. Having maxed out my high school math, I still couldn't cut it in any kind of seriously math-intense discipline in college. This is why these conversations seem really weird to me. When I moved to the east coast, I found out that a lot of people who went to really fancy private high schools barely took any algebra at all, but thought only an idiot went to college not having read vast swaths of philosophy and classical literature. If people really took numeracy seriously, they could put a tiny amount of fucking effort into seeing if math education is working somewhere, domestically and abroad, before deciding that our students are too dumb to learn it.
I worry about ways to avoid passing on my own math phobia to my kid. Maybe we'll do that bedtime math thing posted above together. OTOH my own Dad does math problems for fun in his free time and I'm math phobic, so you never know what kids will or won't take to.
I thought that math teachers sucked unusually much at all levels through high school, but am still not sure why; maybe it was just me and had nothing to do with the teaching.
125: We're giving up on everything nonintuitive? When do we fix spelling?
There are at least two glories to get from geometry to algebra. One, the mathematician's "exhaust an approach, formalize, extend". Two, an approach to algebra for visual or haptic learners. Three, a great translatio studii - Empires rise and fall!
High school geometry class was only incidentally about shapes and their relationships (actual geometry) and was definitely designed to be about learning to do proofs.
That was my experience as well.
Teaching math in Samoa, one of the funny things was that their curriculum had a largely different set of geometrical proofs than the ones I remembered from high school. The ones I remembered were all various arrangements of parallel and intersecting lines and triangles. The Samoan (which is mostly the NZ) curriculum, the proofs were largely circle based -- secants and tangents and inscribed angles and all that sort of thing -- and I had to actually study them a bit before teaching them because they were new to me.
if not calc 1-3
You mentioned this on FB, I think, and I realized I didn't know what that sequence meant. Where does it fit into the AP sequence? Calc 1 is AB, Calc 2 is BC, Calc 3 is multivariable? Or something else?
High school geometry class was only incidentally about shapes and their relationships (actual geometry) and was definitely designed to be about learning to do proofs. It's pretty weird, since you can go for years of math classes after that without using the proof techniques. Intellectually expanding in a way, but I don't think I'd defend it as part of a better-designed math sequence.
I loved the proofs in geometry class, though it was only incidentally about proofs and was definitely designed to teach us the formula for the volume of a cone and spend a month re-explaining everything in terms of "radians". It was disappointing that later on nobody asked me to write proofs.
Never questioned the importance of geometry before. Possibly because it lends itself very easily to word problems that make it seem practical.
Radians are my favorite unit of measurement. They're dimensionless! What could be better than dimensionless units!
http://25.media.tumblr.com/tumblr_m17ockDyHS1qzt4vjo1_500.gif
Almost all college-bound people in my high-school took at least trig/pre-calc, if not calc 1-3.
No college-bound people in my high school took most of these courses. Calc 1 was only offered some years.
134: AP calls it Calc AB and Calc BC. The numbering at my school was weird, I think.
I did not take the AP test in high school because my calc teacher was not very good and I didn't learn very much from him. After having an amazing trig/pre-calc teacher, the calc guy was mostly invested in being the track coach and grading people on their handwriting. I was eager to retake calc in college, where it went a lot further and deeper than our HS could offer.
At my college, two semesters of calculus were required for all arts majors, four semesters for science majors. If you really couldn't do both semesters of calc as a BA, they would let you do one semester of calc, one of statistics.
I'll again recommend Number: The language of science which does a good job of describing the Cartesian plane as one of the great inventions of human culture
I second this recommendation. That's a fantastic book.
My high school didn't have Calc or statistics. We did have a room full of Apple IIes and several teachers who didn't give a shit about enforcing the rule against chewing tobacco, so that worked out as far as I'm concerned.
My school, math past what was essentially pre-calc in junior year (wasn't called anything other than "Math" -- we did different topics different years, but there wasn't ever a name on a whole semester or year like "Algebra" or "Trigonometry") was optional. Mathy people took either AB or BC Calc senior year, but if you didn't want to take math that year, you could skip it. There was something called "College Math" for non-mathy people who nonetheless wanted a senior year math class, but I don't know quite what it covered; just that I remember it being generally recognized as vaguely sad.
There was the germ of an interesting idea here -- math is incredibly hard, at all levels, almost impossible to teach well to most people, a major barrier to high school completion, and not really needed in most jobs. Yet at the same time some kind of mathematical reasoning and intuition is a central life skill and indispensable in some career tracks. So how to balance that? What's the right level and form of math to teach? But the article sucked -- the problem is he never came to grips with how really important basic mathematical reasoning is and how complex it is in its own right. He just arbitrarily drew some weird line at 'algebra', when actually basic algebra concepts would seem to be a central part of mathematical reasoning.
Re how hard math is -- I saw the basic number theory proof that (-x)(-y)=xy the other day, and it was clearly advanced / upper-division college level material, far too complex for high school. Yet this is a concept memorized in elementary school. Even college and graduate level courses of the 'math/stats for applied xxx' don't often make people truly fluent in math. But a lot of the difficulty of math comes from what a coherent and interrelated form of abstract reasoning it is, which makes it tough to say that central areas of math can simply be skipped.
I thought that was going to have a point when I started typing it, but I appear to have been wrong.
144: Our school offered "consumer math," which seemed sad to me. I think this is what I'm afraid of becoming the required math if someone like Hacker is taken seriously. Learn how to calculate whether you're getting a good deal or not. That's the only real life.
math is incredibly hard, at all levels, almost impossible to teach well to most people
No it isn't. Rigorous proofs are really hard. But you can teach someone to understand that the product of two negative numbers is positive without having to teach them the techniques necessary to prove it rigorously.
I agree that elementary/high-school math is very badly taught, often, but that doesn't mean that it's almost impossible to teach.
140: Wow. NJ apparently had really strict rules. At least in the 80s, anyone who planned on graduating had to take 3 years of math. If you were planning on going to college, you were expected to take 4, but of course you didn't *have* to. The very bright kids, having taken algebra in 8th grade, took Geometry, Algebra 2, Pre-Calc, and AP Calc.
I was slightly gobsmacked when I got to college and found that there were people (mostly from the south it seemed) who'd never taken more than one year of math.
I think we had to take four years of math. It was tracked ([ remedial ], standard, honors, AP) but not otherwise named.
My school, math past what was essentially pre-calc in junior year (wasn't called anything other than "Math" -- we did different topics different years, but there wasn't ever a name on a whole semester or year like "Algebra" or "Trigonometry") was optional. Mathy people took either AB or BC Calc senior year, but if you didn't want to take math that year, you could skip it.
That was the deal at my high school. I skipped math my senior year and have never looked back.* **
*AND I have a nice car. Suck it, nerds.
**Actually, I still feel genuinely guilty about it. Someday my guilt will overcome inertia and I'll try to learn calculus, although at this point I'd have to relearn everything past very basic algebra.
which makes it tough to say that central areas of math can simply be skipped.
And I think this is wrong too -- or at least, that large parts of the curriculum are somewhat arbitrary, and could be eliminated and replaced by other topics. The point of the little story I told about teaching in Samoa and having to bone up on an unfamiliar set of geometrical proofs, to the extent that it had a point, was that I hadn't realized that there was anything contingent about the triangle-centric nature of the proofs I did in my high school math class, but of course they were: there are any number of different sorts of things you could have students prove, and it doesn't matter all that much which they are.
These conversations--and the whole notion that there might be more effective ways to teach math--are fascinating to me. I've always lacked confidence in my math skills, which was largely a function of always being the slowest student in the hardest math classes (i.e., Algebra I in 7th grade through AP Calc AB in 11th grade). Math is not intuitive to me at all and I wonder if there's some way to fix that.
119: Is there such a thing as a likelihood function or are you making fun of me? As I said, I've forgotten everything I learned in a pretty boring class. Mathematical probability doesn't it seems to me have much to say about the question, "If Romney is elected, what is the probability that the U.S. or Israel will attack Iran?". That seems like a meaningful question, and so I'm not sure that what we call probability is appropriately named.
I was slightly gobsmacked when I got to college and found that there were people (mostly from the south it seemed) who'd never taken more than one year of math.
My college was self-selecting for math/science-able folks, but a lot of them (especially from rural schools) didn't know any foreign languages or have experience in writing more than a couple of pages. That surprised me quite a bit.
I have nothing constructive to add to the thread but I wish to register my frustration and guilt as a participant in this crappy system.
129: I'm just not sure what you think this shows, though. My impression was that folks had been trying to figure out better ways to teach (among other things) algebra for decades and decades. And there doesn't seem to be a simple answer; if there were, we'd have found it by now. Some things work for some students, in certain circumstances, but it really doesn't seem like "let's do what they do!" has been a reliable strategy.
That said, I think there are really two very different issues being conflated here:
1) In some districts--in particular, a few urban school systems with lots of kids in poverty--the dropout rate is incredibly high. There's a legitimate worry that requiring kids to pass algebra will raise that rate, without much if any corresponding benefit--this is what that LAT piece is about.
2) Even in a community of smartypants folks like Unfogged, some folks found algebra to be painful, and didn't find it particularly helpful for later pursuits. Because requiring any one thing has opportunity costs, it's not crazy to think that this time could be better spent on, say, programming, or practical numeracy, or cultural criticism.
The thing is, while our personal anecdotes about learning are directly applicable to #2, they really don't have anything to say w.r.t. problem #1, except for those of us who were in schools with very high dropout rates, which I'm guessing isn't most of us. AWB brings up the importance for literacy of having books in the house & reading time with adults, and I'm sure it does generalize to numeracy, but this gets at what's probably the heart of problem #1, which is concentrated areas of very high child poverty, something many other OECD countries don't have.
Essear, QM is quality management. I don't really think that in practice in my line of work it has much to do with either of those things. But you know, I wouldn't have to go near bed bug infested buildings.
Because requiring any one thing has opportunity costs, it's not crazy to think that this time could be better spent on, say, programming, or practical numeracy, or cultural criticism.
I'll give you two out of three.
The thing that makes me think that the problem is all the teaching, and not that algebra is just genuinely that hard, is that the sort of person who shut down in math class probably does algebra just fine in context in their life. People look at how much gas they have in the tank, how far they're going, what the speed limit is, and when they want to get there, and solve for variables like when they have to leave or where they'll be when they need to stop for gas all the time without thinking of it as algebra.
Being able to visualize geometry is pretty foundational for trig and calculus, no?
Geometry is also a good introduction for why Calculus is interesting/helpful
I got good grades all the way through Calculus A/B but I hated geometry proofs, felt oppressed by trig, and never grasped at least 1/3 of calculus concepts. (Neighborhoods? Whaaa?) I could do it, but I never got an intuitive grasp.
Oh, but algebra, sweet algebra, I loved it so.
158: it really doesn't seem like "let's do what they do!" has been a reliable strategy.
All I'm trying to say is that, at least in the research I'm doing now about historical teaching of numeracy, the effects of institutionalized racism, classism, and sexism in pedagogy really have prevented the best methods from being implemented in communities of students when the teachers themselves are from a different race/class/gender. No, I don't believe that the best possible known methods have been sincerely employed in poor urban communities, and have just failed because those damn kids can't learn algebra and drop out.
Having taught in public urban colleges for years, even in English departments, I'll tell you that there are definitely colleges where the faculty say "*Our* students can't even learn subject-verb agreement, so we don't really teach writing or literature in the English department. It's just basic grammar, really, even for English majors." Lower the fucking expectations and say that if you don't, they'll all drop out, those lazy dark-skinned poor kids. I've also taught in urban public colleges where this was not the attitude, and those students were as capable as any I've taught in fancy private colleges. I'm just saying, I would be awfully fucking wary of any statement that we're doing the best we can, but this marginalized population will give up if we raise the bar.
historical teaching of numeracy
This is really interesting -- how does it fit into literature? Are you working on representations in literature of the teaching of numeracy, or directly on the history?
Other things by which I was gobsmacked, w/r/t what other people did in high school:
1. Not everyone in the whole country got all of the Jewish holidays off. (Truly, my mind was blown.)
2. Not everyone had to take gym every single day.
This project is also interesting: "The power to understand and predict the quantities of the world should not be restricted to those with a freakish knack for manipulating abstract symbols. ... We are no longer constrained by pencil and paper. The symbolic shuffle should no longer be taken for granted as the fundamental mechanism for understanding quantity and change. Math needs a new interface."
re: 145, I think the reason that algebra gets singled out is that, from what I understand, it really is a huge wall for many people. I've seen this in some kids I've tutored; I saw this when I was helping my housemate with his city college algebra class. There's something about manipulating variables that is really, really hard for some people.
There are three reasons that I'm on team "Let's teach programming instead." One is that I feel like it's important (in a liberal arts, "tools for citizenship" sense), in a world in which our lives are increasingly shaped and conditioned by software algorithms, to have a real understanding of them as human artifacts rather than external constraints. The second is that it's useful in a very practical sense (I'd probably have a job right now, if I knew how to code!). The third, and the most relevant to this discussion, is that I suspect that learning how to manipulate abstract data structures in code, where you're doing it in order to accomplish some task, and you get to control the structure and the input and see how all the pieces fit together, is probably--for at least some students--a better way of getting a handle on the sorts of abstract manipulation skills that algebra is supposed to teach, and depends upon.
165: I can't be too specific here, glad to explain elsewhere, but my interest is in trying to understand what being numerate means as a marker of class or type of education across a particular stretch of time for a particular group of people. In what ways do different mathematical skills serve or not serve as evidence of intelligence for marginalized groups, etc.
Team teach everyone to program sounds pretty good to me. Not that I have any very clear idea what that is, either.
167.2 - Why don't you know how to code, then? Lack of time to work through something like Learn Python the Hard Way? (Not being snarky - I'm genuinely curious, since I don't think anyone who comments on Unfogged lacks the computer expertise or really fairly minimal abstract reasoning chops to learn to code if they put their mind to it.)
I'm just saying, I would be awfully fucking wary of any statement that we're doing the best we can, but this marginalized population will give up if we raise the bar.
I agree that this is indeed a proper heuristic. Anyway, we should have some data now, since apparently first LA and then CA as a whole added algebra to the graduation requirements. I'm sure someone's written a methodologically solid paper about whether there's been any effect on the dropout rate as a result; the LAT piece I linked to is full of anecdotes, but doesn't, contrary to my vague memory of it, actually give any such analysis (maybe the author never passed algebra). But now I need to get up and exercise any maybe even apply for a job, since I've spent the last two days in bed.
(Feel free to poke around here to check the dropout data.)
But you can teach someone to understand that the product of two negative numbers is positive without having to teach them the techniques necessary to prove it rigorously.
We probably just mean different things by math. You can teach people fragments or individual insights or tricks from the mathematical corpus and that can be quite useful. But there's a real sense in which it doesn't add up to teaching them math. Really being able to use mathematics as a tool, speaking the language. I had gotten pretty good grades up through college level calculus and thought I knew math. But when I hit grad school and worked with people who really understood and were fluent with mathematics as a tool I realized that I had just basic numeracy plus an ability to plug numbers into prespecified recipes, with only a vague conceptual sense of what was going on. Without the recipes I was lost. Now even my quite knowledge is useful in life and in understanding the world, I'm not saying it's not. But even though I'm pretty sure that compared to the general population I would be at the 90th+ percentile, I don't think of myself as knowing math.
The product of two negative numbers is actually an interesting case...it's easy enough to memorize, and you won't get the number system without some awareness of negative numbers. But it's actually not very useful at all unless you are going to truly be using math comprehensively. It hardly ever comes up in everyday calculation contexts and is not conceptually necessary for basic understanding of statistics. I think that's one of the things that makes math hard in school, it's a big architecture with lots of interdependent parts and lots of kids who will never learn or use the whole system must feel the pieces they learn are boring and useless.
I agree that elementary/high-school math is very badly taught, often, but that doesn't mean that it's almost impossible to teach.
Yes, in one sense I certainly overstated my case, you can certainly teach something useful and mathematical. But I guess it comes down to what we mean by knowing math. It is incredibly difficult to reach real fluency in the language of math, but without doing so much of what you learn is incomplete and flawed in ways you may not even understand.
I suppose this comes up in the sciences -- high school chemistry is both incredibly incomplete and incredibly useful as a glimpse of the way the world is organized. But sciences are facts about the world, while mathematics is an abstract system of reasoning. Knowing a few pieces of that giant abstract system makes for a weird combination of knowing and not-knowing.
I think Conrad Wolfram had a very interesting take on this:
http://www.youtube.com/watch?v=60OVlfAUPJg
Roughly summarizing: even the best traditional school curriculums don't really teach "math" at all, they teach "calculating" - because, among other things, those terms have been almost synonymous for hundreds of years. But that's not true anymore. Computers are very good at calculating, which is boring to humans anyway. So the approach is totally backward.
Instead, what people really need to learn is more general problem solving skills, much as they are actually practiced by working scientists and others in the real world: (1) how to correctly frame and contextualize interesting, real world, "hairy" problems and pose the right questions, and then, usually, (2) how to program or use a computer to answer them or investigate further.
That probably raises as many questions as it answers, but it generally seems like a promising avenue to explore:
The implementation step 2 subsumes a lot of the nitty gritty, but in a more relevant, enduring way - to solve a problem with a computer, you're going to need to go back and find out about stuff like algebra and arithmetic. And then, once you've mastered something well enough to teach a computer to do it, you're really going to know it inside and out.
And the kind of thinking and problem solving involved in step 1 is going to help with a lot of those big picture math literacy questions (e.g.:"Politician A keeps talking about statistic P, but does statistic P even make sense in a discussion of issue Y?") as well as seeing the relevance of math in everyday situations, and learning not only not to be afraid of it, but also how to actually make good use of it. (I wonder what kind of world we'd be living in if, instead of avoiding math and problem solving as much as possible, more people actively used it in the daily lives to make all the stuff around them work better.)
SO MUCH TO RESPOND TO IN THIS THREAD.
One example that I'm not working on, so I can offer it here, is Moll Flanders's account keeping. Throughout the novel, the character keeps extremely careful accounts of what she is spending, what she is getting, how much she has in assets, how much everyone else has in assets, etc., to the point that she thinks of her body and personality as a kind of commodity that is depreciating in some ways and appreciating in others. The kind of research I'm doing could theoretically be useful for an analysis of what this kind of account-keeping would have meant to readers at the time. As one might expect, really careful bookkeeping would not have been an upper-class skill, and close attention to commodity values and prices is a very urban working-class ability. Moll is certainly an exaggeration and a satire of that kind of life-as-bookkeeping mindset, and her numeracy is incredibly impressive for a character with no formal education, but one way of reading the novel is as a statement about the new numeracy of the striving classes.
170: see 171.2ndtolast--Indeed, I'd have plenty of time to learn, if I didn't spent it all sleeping and avoiding life through, e.g., internet browsing. Just pure dysfunction on my part.
Being able to visualize geometry is pretty foundational for trig and calculus, no?
Not the geometry that's taught in a geometry class. Pythagorean theorem? Yes, you need that, and how. Two months worth of theorems about how a transversal creates various angles when it crosses parallel lines? No, you don't need that.
For the past decade or so, proofs have not been covered in Texas high school geometry classes anymore. In the better classes they have to argue why something would be true. Otherwise it's little visual logic games - can you tease out a path of congruent angles and known lengths and determine this unknown that uses the factoid we just covered in class?
What worries me about Team Teach Everyone To Code is debugging. My computer-related experience is about as minimal as anyone's could be, but to the small extent I've ever done anything that could be described as programming (very little, at long intervals, at a very low level), it's been a minimally difficult process of 'figuring out how to do what I want to do' and then an insanely boring and difficult process of finding the typos that are keeping it from working.
Unless there's some kind of learning environment that gets around that step, I'd think a coding-centric math curriculum would lose a lot of people who couldn't take the boredom/focus necessary to actually make code work.
What you to do is figure out a way to integrate programming into your dysfunction.
174: boy, that sure speaks to my preexisting beliefs. Yes! But--must! leave! house! And I hate the very idea of TED talks.
179 continued: That's admittedly a perspective from someone who really doesn't code at all. Possibly the people who do will be able to explain that it's not like that at all for real, and if it isn't, I'd believe them.
The math ed curriculum for training teachers is really quite sophisticated. Now, in Texas, about half the teachers get "emergency certification" and don't go through a full-length teacher training program. In addition, there are plenty of teachers who pre-date the modern training programs, and plenty of real world experience which conflicts with what you were taught and undoes the good parts of what you were taught.
ALL THAT SAID. Teachers are trained in what it is like to find new concepts awkward and clunky, and how to let kids wrestle with (-x)(-y)=xy, and how to provide manipulatives that help the kids stumble upon the concept themselves.
Are the manipulatives actually implemented well? Sometimes yes, sometimes no. What's bad is to use them for fifteen minutes, establish the concept, and then flip back to rote memory from there on out. That happens a lot - it's faster and there's too much material to cover. Ideally, they revisit the manipulatives and re-derive the concept again and again, until the student finds themselves walking through the logic when they don't remember the rule.
The math ed curriculum for training teachers is really quite sophisticated. Now, in Texas, about half the teachers get "emergency certification" and don't go through a full-length teacher training program. In addition, there are plenty of teachers who pre-date the modern training programs, and plenty of real world experience which conflicts with what you were taught and undoes the good parts of what you were taught.
ALL THAT SAID. Teachers are trained in what it is like to find new concepts awkward and clunky, and how to let kids wrestle with (-x)(-y)=xy, and how to provide manipulatives that help the kids stumble upon the concept themselves.
Are the manipulatives actually implemented well? Sometimes yes, sometimes no. What's bad is to use them for fifteen minutes, establish the concept, and then flip back to rote memory from there on out. That happens a lot - it's faster and there's too much material to cover. Ideally, they revisit the manipulatives and re-derive the concept again and again, until the student finds themselves walking through the logic when they don't remember the rule.
Unless there's some kind of learning environment that gets around that step, I'd think a coding-centric math curriculum would lose a lot of people who couldn't take the boredom/focus necessary to actually make code work.
I think the existence of languages like python helps quite a bit. I really wish it had been around when I was trying to learn to code.*
*(it might have existed but if it did it wasn't really known outside some small circle of enthusiasts).
1. Not everyone in the whole country got all of the Jewish holidays off. (Truly, my mind was blown.)
You think that's crazy? Turns out not everyone gets Gator Football Homecoming off from school, either! And their big town fireworks display is sometime in July, instead of October like a proper blowout.
Hey Heebie -- I had been intending to send you this article on mathematics education , but since it's really relevant to this thread I'll just drop it in here. Basically the author argues that current elementary/HS mathematics education (which he calls 'Textbook Standard Mathematics') does not teach math as a system of reasoning at all -- that it's incoherent, contradictory, sometimes just wrong, and substitutes memorizing a bag of disconnected tricks for learning mathematical reasoning. Then he goes into how the new Common Core of Mathematics standards will are intended to fix the problem and transform mathematics education. Also talks about how training for math teachers needs to be changed. A very rich piece -- was curious what you thought of it.
179 continued: That's admittedly a perspective from someone who really doesn't code at all. Possibly the people who do will be able to explain that it's not like that at all for real, and if it isn't, I'd believe them.
That matches my sense that there's lots of ways to teach people to solve toy problems without learning any significant programming skills.
Heck, I've been employed as a programmer for more than 10 years and there are big sections of what I would think of as "core programming skills" that I've never learned.
Which is just to say that "teach programming" doesn't solve the problem of, "what do we pick as an entry point to a deep an interconnected body of skills?"
182: it's not like that at all for real.
Nah it totally is.
I mean, the "hunting down stupid syntax errors" takes ever less of one's time as one gets more experience and uses better tools, but just last night it took me a good hour to light upon using {} instead of [].
The thing that makes me think that the problem is all the teaching, and not that algebra is just genuinely that hard, is that the sort of person who shut down in math class probably does algebra just fine in context in their life.
Yes and no. Like you said, they're surprisingly agile with the gas gauge, at the supermarket, etc. Yet what trips them up is trying to wade through the communication of the math (and why a terrible teacher gums everything up so much.) Now, homework problems are terribly phrased, often. But struggling math students have no intuition about how to parse directions and figure out what's being asked. I think the problems should be clearer, but there's also a real skill to be developed - if logical thinking is being communicated in written or oral form, can you follow someone else's case? Can you make a case to someone else, that they can follow?
I gotta go, but I'll look at the PGD's link and say a whole lot more in a little bit.
179 - This is getting pretty far afield, but there are IDEs that will flag that sort of thing for you, and a lot of languages now come with REPL environments where you can do a thing and see an error rather than type a whole program then see what breaks.
Anyway, I encourage x.t. to figure out how to come up with an awesome "learning to code" drinking game so that he can make discovering the joys of Haskell into an even more delightful and neuron-destroying activity.
But struggling math students have no intuition about how to parse directions and figure out what's being asked.
The point about the gas gauge, though, is that this hypothetical practically competent person who freezes in math class (and this isn't everyone, of course, but I do think they're fairly common) is fine when they're the ones asking the question (like "When will I need to stop for gas?"). It's not so much "Moving from a real world problem to manipulating the numbers necessary to solve it" that's a problem, it's the "Moving from a problem posed in a math class to manipulating the numbers necessary to solve it in the same way that they would manage a genuine real world problem."
Someone who had trouble figuring out when they're going to get to Grandma's if they do 75 the whole way, I'd think as having a fundamental problem with the sort of reasoning you need to do algebra. But for the sort of person who can do that fine in practice, but draws a blank at the prospect of figuring out "If one train leaves Chicago going 80 mph at 3:00...", I think that's mostly got to be mental blocks and bad teaching.
168: I heard an excellent talk a decade ago about English ministers' daughters who were doing (and writing letters to each other about) calculus in its very earliest days, though I don't remember a ton of specifics. If that's the sort of thing you're thinking about, I could find that professor's name.
Not sure I understand the 'teach everybody programming' approach. I mean, it would be cool if everybody could program but programming is not math and will not teach you math. Isn't it perfectly possible to be a very good programmer who is lousy at math?
Back when I was a TA for undergraduate courses that involved programming in some manner, I periodically ran into students who had the programming version of the algebra problem described above of being able to solve for x but not for y. In particular, they'd type in some reasonable function foo(x), and then get flummoxed by the fact that it could be (and needed to be) called as foo(x), foo(y), foo(2), foo(3+4*z), foo(x)+foo(y), etc.. The mental gymnastics of substituting for a variable, or assigning to a formal parameter, was something that they had a huge amount of trouble with
Whee, canceled flight! Maybe I can finally catch up on Unfogged.
194: That's part of the background I'm looking at so that I understand our project better, but it's not the particular group I'm studying. For personal reasons, I'd love to know about it!
195 - Sure, but I don't know if it's possible to be an even semi-competent programmer and not understand the concept of variable assignment, which is the big conceptual leap in algebra that many people seem to have trouble making. [Insert comment by neb about functional programming here.]
Not sure I understand the 'teach everybody programming' approach. I mean, it would be cool if everybody could program but programming is not math and will not teach you math.
I believe the theory is that programming would be a way to teach a similar (and possibly more useful) set of mental skills to those which are offered as the justification for learning algebra.
I'm skeptical. I think people who learn programming learn a bunch of useful mental skills, but those are mostly people who enjoy learning programming, and people who enjoy learning math get a lot out of the current curriculum. I'm not sure a general programming class would offer the same benefits as elective programming classes.
But I can understand the argument, programming is a way to make some of the abstractions of math more concrete.
Our system is really different to yours - in England/Wales it's possible to stop maths at 16, doing what they call Foundation tier GCSE, in which the most complicated algebra is along the lines of 3x + 1 = 7. There's a lot of emphasis on real life use. So what surprised me about that article was when he said that less then 1% of degrees are in maths - it's far higher here, although of course our university structure is very different too.
The "change this one aspect of the input --> see what happens to the output" aspect of programming would be a great way to learn. It would have to be done in an environment where the student doesn't spend 90% of his time looking for stray parentheses (unlike my own semester of programming).
198 Essear, that's just not right.
I feel weirdly guilty about how little I'm reading this place lately. I just drop in for the occasional drive-by comment. It feels like "read at least a day of complete Unfogged threads" is one of those looming unfinished items on my to-do list that's making me anxious.
202: well, we only teach the one math here. When you add in all the others I'm sure the numbers get more bigged.
I thought the /. comments on the Hacker article were pretty good. Largely pro-algebra in the interest of programming, as I read them.
To BG in 99, on whether you'd want to stab yourself in the eye with an ice pick: It totally depends on the kinds of QM stuff they do, on the philosophies of the people in charge and the role that QM plays in your organization. It can be bean counting, or it can be gathering data that reveals things you wouldn't otherwise know and that you can use to make changes. It can be finding people doing things "wrong" and zapping them, or it can focus on larger, structural issues.
207: and what role does spontaneous symmetry breaking play?
re: 202
The Scottish system is different again, which always confuses me when I talk to English people. I had the sense [when I studied maths briefly at uni] that we (Scots) learned more earlier, but topped out at a slightly less advanced stage if you only did Higher and didn't go on to do [the now outmoded] SYS. Which wasn't required at the time I went as an undergrad. In fact, that seemed, talking to friends who did A levels, to be the general pattern. Scottish kids did more, earlier, but because university entrance could take place at 16, topped out a bit earlier than advanced English kids would. On the plus side, the average bright Scottish 15 or 16 year old would probably know more [depth] about more subjects [breadth]. On the negative side, at 17 or 18 [assuming they weren't already at university], less than the best of their English peers.
208: Instant death, if used by the wrong person. Only the quality managers know which are the wrong people.
Learn Python the Hard Way
I am delighted to learn that this is a real book title.
207: I think it's tracking people's recovery scale numbers and making sure that our documentation is compliant with Medicaid treatment plans and that our housing passes dmh licensing requirements etc. plus whatever else they need. Lots of Excel or maybe that google docs spreadsheet thing.
It sounds like I may be teaching people Fortran in the spring. That'll go well, I'm sure.
213: hah! That's awesome. Why on earth?
I'm very dubious of "teach programming instead" because I have TA'd most of my environmental science department's quantitative classes, all of which do stuff in Excel or toy languages that we could do analytically. The students who don't get the algebra are cargo-cult users of Excel. Worse, the students who rely on the school computers & Excel licenses are also at a disadvantage. And we're working on topics they care about, with real policy implications. I think it should be a sweet spot for constructivist learning, but I increasingly think c.l. can't replace formal learning widely.
In holding-tank schools, I think we'd just commit more money to stupid unmaintained hardware and still not teach anything.
LB: William Kahan ringingly told me that you code on your bad days so you can debug on your average ones & test with your utmost powers.
How useful a skill is basic programming? I had a notion that basic coding was basically a low wage outsourced job these days, and aren't the needs for programming new code from scratch fairly limited (ie the kind of programming you'd do as an incidental part of some other job). Of course I have no idea what I'm talking about here.
Algebra is so basic and fundamental I can't conceive of a math curriculum without it. But I could imagine something like calculus being taught in a very different and more computer-oriented way. Calculus as she is taught is all about closed-form answers and clever tricks; putting more computer programming into it, you could teach a course on numerical integration and whatnot that I think would be much more useful for many more people. (When was the last time I needed to integrate sin^7(x) cos^3(x) and get an analytic answer? Never, unless it was on an exam when I was in high school. When was the last time I needed to numerically approximate the integral of a function I only knew approximately from some data? Yesterday. The answer to the latter question might not be the same for all of you, but I'm pretty damn sure "Never" answers the first question for everyone.)
I also would like to know about the calculusing daughters of the clergy.
The answer to the latter question might not be the same for all of you, but I'm pretty damn sure "Never" answers the first question for everyone.
OH REALLY?
214: Well, I'll be trying to teach a course aimed at equipping both theorists and experimentalists with what they need to know to work in my field, which sounds tricky, but the one thing I'm sure all of them need to know is how to run some of the standard software tools. Several of which are old and in Fortran. And I doubt I can count on the students all having programming experience. So....
(There are newer versions of a lot of this in C++ and even, in one case, Python, but a lot of useful things still exist only in Fortran. And teaching C++ sounds like even more of a nightmare than teaching Fortran, really. I guess I'll mostly ask them to figure out the programming stuff on their own, but I don't expect I can completely avoid giving some introduction.)
I've been meaning to come back to this:
I would actually start teaching algebra in elementary school. The topic should be broken up and spread out over the whole elementary and middle school curricula. You can teach simplifying simple expressions immediately after teaching any arithmetic at all. For example, once you teach some one that 3 + 2 = 5, you can teach them if x is 3, then x +2 is 5. I'm actually doing this with my own children, so I'll let you know how it works out in 20 years.
This is basically just plain wrong. Or rather, it will probably work out fine for your bright youngsters, and to some extent you could teach the rest of the kids to imitate doing algebra at a young age. But middle school age kids find this concept really, really hard to understand meaningfully.
I feel weirdly guilty about how little I'm reading this place lately.
I just had family visiting for two weeks, during which I barely even looked at Unfogged. It was fantastic.
Radians are my favorite unit of measurement. They're dimensionless! What could be better than dimensionless units!
Huh?
Re: the calculizing daughters of the clergy, in this
http://cscs.umich.edu/~crshalizi/reviews/geometry-civilized/
book review over at Cosma Shalizi's site, it's noted that the mathematical "puzzles" in a popular ladies home journal of the 19th century were often substantially more difficult than the problems given in prestigious exams at Oxford and Cambridge.
222: And now you've come back to show us how to cast aside our shackles?
For the past decade or so, proofs have not been covered in Texas high school geometry classes anymore. In the better classes they have to argue why something would be true. Otherwise it's little visual logic games - can you tease out a path of congruent angles and known lengths and determine this unknown that uses the factoid we just covered in class?
Crap. I never got to my point. AND NOW PROOFS ARE BEING RE-INTRODUCED. I'm sure a decade of skipping them has produced a wonderfully confident crop of teachers to re-introduce them.
OTOH, a few years ago, the state started requiring four years of math for graduation. I think this is great.
225: No, I just came back to work and don't have anything better to do.
216: For non-programming jobs, I think that it's useful to know what programming can accomplish, and most non-programmers don't, although know how to program isn't strictly necessary.
I remember an unfogged comment about running across a first year associate who spent a week or two looking through a list of numbers to find a phone number. That's a trivial problem to solve using existing software, and the whole process should have taken maybe 2 minutes of human time plus whatever amount of time it takes for your copier/scanner to consume the stack of documents. If you're really worried about the translation maybe you can use MTurk to sample and check the results, or even check all of the results.
There's no reason you should need to know how to program to know that 120 hours of work can be compressed into 2 minutes of work plus some background processing time, but it's rare that I meet non-programmers who know what new tasks can be reasonably automated. Maybe actually automating things gives you an intuition about what's actually possible?
It's also nice to be able to automate stuff just for yourself. It you want to do something simple, it's often the case that you can write a quick script more quickly than you'd be able to find a freeware/shareware program that does what you want, and figure out how to use it.
For programming jobs, I feel like 99% of what I do is so basic that I could teach a high school kid to do my job in a month or two. And yet, I not only have a job, but one that pays well. On the other hand, most people who we interview can't even pass the most basic possible programming test.
When I was graduating, my experience was that even people who I didn't think of as even minimally competent had multiple job offers. I'm not sure why the EE/CS job market is so good. That's bound to change eventually, but things are good for now.
Someone who had trouble figuring out when they're going to get to Grandma's if they do 75 the whole way, I'd think as having a fundamental problem with the sort of reasoning you need to do algebra. But for the sort of person who can do that fine in practice, but draws a blank at the prospect of figuring out "If one train leaves Chicago going 80 mph at 3:00...", I think that's mostly got to be mental blocks and bad teaching.
No, because once you help them set up the problem and talk through what the problem might be asking, then they fly through it, computationally. And then they are equally stuck all over again on the next problem. Part of it is the formality of the writing - they're uncomfortable reading formal writing, and they can't detect what's important from what's not.
Often times you have a brick of text in italics at the top of maybe six questions, and those instructions are supposed to themselves be general enough to map onto all six questions. Parsing that can throw them for a loop. For example, "In questions 15-24, the equation for the velocity of a particle is given, followed by the initial velocity, followed by an unknown. Solve for the unknown." Then "#15: f(x)=(whatever); v_o=15, p_o?" There's just a lot to parse in that.
224.last: In a somewhat similar vein, here is the "Tide" article in the 11th edition EB (the math is hopeless in that format, of course, but from a glance you can get the drift).
I would want to see some pretty hard evidence that efforts have been put into trying to teach math effectively at the elementary level. (As I wrote on FB, I've had at least one student who was trying to come up with innovative math pedagogy as part of his Ed program, and just got shut down over and over by his professors when he tried to demonstrate how he was taught in China. That's not how we do it. Do it like we do it.)
I don't exactly get this, either. I mean, there is a gigantic body of literature about how to teach math effectively at the elementary level. The advisor might have been saying "That would be an untenably ambitious project for a thesis, and it is more appropriate to study something smaller scale for your grad work"?
@228
Is that programming question as simple as it looks, or is there some hidden gotcha?* And if there's no gotcha, how is it possible that people who have progressed to the point that they are interviewing for programming jobs can't do it?
*I'm speaking as someone with feeble mostly self taught programming skills so there could easily be a gotcha that I'm missing.
228: That test is basically my life before it comes time to run statistics on it.
231: There is also an enormous body of research on how to teach writing effectively in college, and when I have tried to implement these practices based on that research, I have often been told I would be terminated if I continue to question the school's chosen method. I have a hard time understanding why it's incomprehensible that best pedagogical practices are often prevented from being implemented.
On the other hand, most people who we interview can't even pass the most basic possible programming test.
I'm curious what passing that test means in your context; just writing something that works at all? Or writing something relatively efficient in terms of tests?
Sure. There are often difficult personalities and loyalties to various methods and all kinds of politics that makes it impossible to change things up in an institution. That's a far cry from I would want to see some pretty hard evidence that efforts have been put into trying to teach math effectively at the elementary level.
236: Sorry I was unclear. Of course there's academic research on pedagogy. I just don't believe it's being implemented equally in public schools.
There's a need for research on how equally the research is being applied.
That is true. Getting teachers to implement new pedagogy is one of the most gigantic hurdles. One problem with a lot of studies is that when the teachers are left alone, they stop implementing the [whatever] the way the researcher wants to see it, and instead fit it in as a sidenote to their pre-existing method. (And a lot of times they've got a good reason, ie they have to keep on schedule and the researcher's [whatever] is time-consuming.) At any rate, people are very resistant to change, and math teachers are people.
My math teacher wore early 70s suits and ties at least through 1993. I don't know people from the later classes.
That's impossible. All seventies clothes clothes were thrown out uniformly in 1983 and no fashion ever dragged on and on, looking dated but not crazy, until clothes purchased in 1994 which look completely current and modern today.
Off-topic (but not completely): I've been volunteering with this group that teaches programming to disadvantaged urban kids. One thing that surprised me is that they've been spending most of their time on GUI design (like drawing storyboards) rather than actual programming. I guess the reason is that many of the kids really have very little technical background, and aren't that disciplined, so if we tried to make them write significant amounts of code, they'd just stop coming to class. It's driving me nuts, though, because programming is a much more valuable skill than drawing storyboards -- in part *because* it's hard. Also, I guess I feel that the experience of learning something that doesn't come naturally is itself valuable, and not necessarily bad for your self-confidence.
Question about pedagogy: My mother taught second and third grades, and one of the more annoying aspects was when a new "math curriculum in a box" would be adopted by the school (or the district), and everyone would have to switch over to using that method, pacing, scripts, and all. Any idea on the relative soundness of the more popular curricula, and whether they actually implement whatever the cutting edge of elementary math pedagogy suggests?
YK, is there someone around to ask?
I've been around some of these that taught HTML & CSS, which did introduce the horse to the jump.
242:
Could they handle turtle graphics?
Though out-of-date, this book does a pretty good job of teaching programming fundamentals to average college students via manipulating cheesy, high-level graphics libraries.
242: Interesting! I have a friend who has a grant to develop board games that teach programming concepts to students who may not have access to computers.
I'm only halfway through the thread, but I'm about to go do other stuff for a while, so why not throw out some comments now:
On the why geometry question, I don't remember geometry classes being particularly well integrated into my other math classes in high school. But I do remember the graphical aspect of what we were learning being a part of the non-geometry classes - that is, the teachers would stop and say, "here's what this looks like graphically/geometrically" when we did something that was usually seen as just symbols/numbers.
I actually helped - or I guess I imagine I helped - a friend I was tutoring by going through the geometrical aspect of some algebra thing ("suppose you visualized this in this way...") I can't remember any actual examples.
On programming/coding, isn't there evidence that coding is actually like algebra in terms of learning outcomes? That is, if we required it instead of algebra, wouldn't it turn out to be a similar weeder-type course? I vaguely remembering reading a few things by people who teach programming that suggested that, but I think that may have been anecdotal musing.
228 -- thanks. I often think I should teach myself how to program, just so the computer would lose some of its "magic box of magic manipulated by nerds" sense to me, but then get stuck on "what would I ever use the programming for?"
244: Yeah, there are people around who can answer questions. Us volunteers are pretty disorganized, but at least we all know how to program. For a few of the kids, this worked great -- they basically taught themselves object-oriented python. I just think the rest of class could have gone farther if they were pushed a bit.
245: I'm pretty sure they could have handled turtle graphics. As it was, we did python, with mixed results. I like this book (and it would've been great if I had known about it a month ago...).
teach programming concepts to students who may not have access to computers.
That sounds like an exquisite form of torture.
AWB might find the novel Wolf Hall of interest. The hero is a son of a tradesman who rises to be an advisor to Henry VIII, partly on the basis of an ability to keep accounts.
232 - There's no hidden gotcha. FizzBuzz was unleashed on the world by Jeff Atwood of Coding Horror and Stack Overflow as something actual applicants were failing to solve. It's like applying for a job as a cocktail lounge pianist without being able to play "Chopsticks".
251: He works for the military. It's better than using his knowledge to kill people, which is the other option.
252: Interesting! A bit before my period, but from what I understand, that's a crucial moment in the history of math dissemination.
AWB, I assume you already know about these books?
There's programming skill, which is occasionally useful (performing bulk operations on documents, filtering out annoying commenters from websites, etc), and there's general technical competence, which is handy all the damn time (tethering your phone without paying Verizon, setting your pc up as a media server, etc.) They're related but distinct skills.
255: Yes to the first; the second is really too early for my project.
162
The thing that makes me think that the problem is all the teaching, and not that algebra is just genuinely that hard, is that the sort of person who shut down in math class probably does algebra just fine in context in their life. People look at how much gas they have in the tank, how far they're going, what the speed limit is, and when they want to get there, and solve for variables like when they have to leave or where they'll be when they need to stop for gas all the time without thinking of it as algebra.
I don't know what your belief counts for here. The evidence is there is a substantial fraction of students which have great difficulty learning algebra with our present teachers and methods. So in the world that exists algebra is genuinely hard for them and requiring them to learn algebra to graduate means either that the requirement will be fudged in some way or that most of them won't graduate.
And I think lots of people are not in fact using algebra to solve problems in their life, they are interpolating from past experience and are not actually solving algebra problems.
I had to invent a workshop teaching programming skills w/o computers for a teen enrichment weekend last spring. out of three sessions, two were okay with flashes of great and one was awful-- the last session had been pelted with candy (trebuchet!) and played with LN and I was such a letdown.
247
On programming/coding, isn't there evidence that coding is actually like algebra in terms of learning outcomes? That is, if we required it instead of algebra, wouldn't it turn out to be a similar weeder-type course? ...
Yes, people vary wildly in programming aptitude so any universal course will either be very elementary or weed out a lot of people.
I talked at some length about my semi-disastrous attempt to teach programming to total novices last summer. That shit requires preparation, boy.
In the 18th c it seems that the basic level of getting-around-life numeracy for working men and women who didn't keep accounts was the rule of three (basic cross-multiplication of fractions). People would explain their level of ability in math like, oh I got as far as the rule of three, but beyond that I don't know anything. It's like cookbook numeracy--useful for figuring out how many cookies you can make according to this recipe if you only have 2/3 c. of flour and it calls for 1 1/4 c. flour.
259: That's why you should always keep an extra trebuchet in your car trunk, just in case.
What would unbundling high-school subjects do in the States? I'm against removing math from the complete HS degree, but giving out separate passes for separate subjects might help.
Though I also suspect we could improve outcomes if we had to. I did do elementary school in a miserable St Louis district with a high drop-out rate, and just feeding all my classmates well would have leveled the field noticably.
Woo hoo! Just wrote a Fizz Buzz thingie, and it only took a halfhour, since I've forgotten basic syntax. Now someone give me a job, damnit.
264.1: That would be interesting. I'm knee-jerk against it because I fear encouraging disciplinarity at too young an age, but I also think it might offer a short-term benefit to students with serious but narrow learning disabilities. I am anxious about creating a whole ton of short-term solutions to patch up a shoddy education that doesn't take disability, parental shittiness, poverty, etc. into account, as your .2 suggests.
A girlfriend of mine managed never to take any math in high school through some rather intense lobbying by her lawyer father, claiming she just didn't need math for her future. She had what she thought of as learning disorders that it turns out, in retrospect, were probably anxiety disorders (fear of math and testing rather than, like, inability to recognize numbers). As an adult, she's started studying math and physics on her own. She still claims it was best for her not to have done it because she would have just dropped out of school at that time if forced to take it. But she regrets not having figured out her real limitations at the time.
I'm partial to programming being used as the introductory course to teach general symbolic reasoning and logical concepts, but I think it has some potential to conflict with algebraic intuition. The way they treat variables (outside of functional languages) are very different. I think I was introduced to the stateful concept of a variable before the algebraic one, and being confounded by how the algebraic ones don't vary. But, as said above, it'd probably be great for building intuition of computation as substitution, and if you can do that you're well on your way into understanding how to decompose complex problems.
262: I think that's still, to some degree, an important boundary point. Supporting anecdata: I recently tutored in statistics someone who was going back to school thirty years after finish high school, and she was quick to mention that although she didn't like (whatever topic we were on), she really did like ratios and proportions and was pretty quick at them. If you can do that, you can scale things and might have a reasonable intuition about linearity, so you can extrapolate (which is so much more fun and dangerous than interpolation).
Amusingly enough, that silly fizzbuzz thing does have me feeling more upbeat about my life now. Ha!
Statistics is one subject where I think school kind of caused problems for me. Most subjects I was happy to ignore what teachers told me and go figure them out on my own, but somehow my high school biology class left me with the impression that statistics was a boring set of cookbook recipes (t-test, chi-square, maybe one or two others?) that returned a yes or no answer to the question "is this significant?," with no interesting theory involved. I never had any interest in learning more about the subject until fairly recently, like maybe two or three years ago. (Possibly, in part, because I noticed that Cosma is really smart and so it couldn't be that boring, now could it?)
FizzBuzz is practically the first exercise they have you do in the Codecademy javascript programming lesson-thingie website. Maybe if I do more of those, I'll get a job.
Here's a FizzBuzz, although I'm embarrassed to admit my first attempt involved a stupid attempt to be too slick and produced wrong output. Probably best to be as simple-minded as possible if asked such a question in an interview, I guess.
>>> output=""
>>> for i in range(1,101):
... mod3 = i%3
... mod5 = i%5
... if(mod3 == 0): output += "Fizz"
... if(mod5 == 0): output += "Buzz"
... if(mod3*mod5 != 0): output += str(i)
... output += " "
...
>>> output
'1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz '
269: I didn't take much statistics, either, which in retrospect was pretty dumb. Somehow I had acquired the idiotic bias that all the interesting theory was in courses about probability and the statistics were just heuristic wankery built on top of it.
I've managed to work for a dozen years off knowledge of statistics, interpersonal charm, and basic literacy.
271: For people above a not very high level of competence, the fact that it's tempting to be too slick is most of the reason it's hard.
There was one implementation I saw that I thought was neat in terms of minimizing operators. It was basically the same as yours, but the last mod3*mod5 check can be replaced with a single output.length == 0 (or output == "", or whatever's equivalent in your language). I think that's the cleanest way to query the existing state so that you don't have to redo the modulo operations.
I would have done something like:
Some sort of for loop than runs 1-100
If n is divisible by 3, print fizz.
If n is divisible by 5, print buzz.
If n is not divisible by 3 and not divisible by 5, print n.
Obviously I've basically never had a programming course.
Just wrote a Fizz Buzz thingie
We'll be the judge of that. Paste your code!
271: You lose points for inlining your conditionals and thus depriving me of the opportunity to judge you based on your chosen indentation style/method.
273: If I knew statistics, and could replace "interpersonal charm" with "can write a FizzBuzz successfully", I'd be all set.
275: That's pretty much how you should do it (with a bit more care about spacing and such). It's not meant to be a very hard test, and I think it's largely designed to make professional programmers feel better about themselves. Then again, I've never had to interview someone who couldn't solve it, so my sample might be biased.
274.2: Cute. But is it really faster to check the length of a string than to multiply two integers? (I'm clueless.) For that matter, I don't know if multiplying the integers is faster than doing two comparisons, I was just economizing on typing.
277: I didn't want to bother with trying to get the spaces in my HTML, anyway.
279: Oh, probably not. And those values will probably be in registers anyway. And there's no point whatsoever in optimizing code at this level (if you're concerned about the cost of calling a function and not writing a tight inner loop, you're probably doing it wrong). I just felt like applying a totally arbitrary aesthetic to the problem--it feels "wrong" and seems not very parsimonious to do the arithmetic twice. So "cute" is the right way to put it. A lot of programming culture puts too high a value on clever.
276: where's the trust?
def fizzbuzz(n):
# this function should print the numbers 1 to n, but "Fizz" if the number is a multiple # of 3, "Buzz" if a multiple of 5, and "FizzBuzz" if a multiple of both p = 1 # print "Starting FizzBuzz!" while p < n : # keep running until we get to the final number if p%3 == 0 and p%5 == 0: # cleaning divides by 3 and 5! print "FizzBuzz", # print p, # test code if p%3 == 0 and p%5 != 0: # cleanly divides by 3, not 5! print "Fizz", # print p, # testing if p%5 == 0 and p%3 != 0: # divides by 5, but not 3! print "Buzz", # print p, # test code if p%3 != 0 and p%5 != 0: print p, # prints the number p = p+1 # increment p up one fizzbuzz(101)
Not fancy, but notice how I document my code!
oh wait no yeah that should work fine.
the last mod3*mod5 check can be replaced with a single output.length == 0 (or output == "", or whatever's equivalent in your language). I think that's the cleanest way to query the existing state so that you don't have to redo the modulo operations.
Not so! "if not output" is cleaner!
282: Are those... tabs? Also, a comment at the top of the function rather than a docstring? And why is the indentation inconsistent?
Clearly I need to interview more people.
Yes, I did, damnit.
xxx$ python fizzbuzz.py
Starting FizzBuzz!
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz
if not output" is cleaner!
I tutor an annoying kid whose test for evenness is always
if (!(foo%2))
285: that's what I meant by "whatever's equivalent in your language". That differs only by syntax, not semantics. I do most of my work in a certain verbose object-oriented language, so I'd say output.isEmpty().
288: At least they don't do if(foo%2 != 1) (which surprisingly fails on negatives), or the lovely if(!(foo&1)).
Ha. I broke the blog's formatting.
Yes, they're tabs, I'M SORRY I FORGOT TO CHANGE THAT SETTING IN MY EDITOR. And I didn't get far enough in the class to get to where one learns about docstrings, NOW I KNOW AND I HATE YOU. And I'd like to say the indentation is inconsistent because something fucked up when putting it into the comment box, but it's leftover from my first, uglier (nested ifs) attempt, which I didn't fix, AND I HATE YOU SO MUCH.
My brief moment of joy is totally gone now. I hope you're happy, Josh. I really hope you're happy.
Sob.
291: Congratulations! You've experienced the joy of the program working properly and the bitter disappointment of releasing it only to see everyone ignore the basic working functionality to quibble about details.
I think you're ready for a job in the industry now.
I feel like I should write an ATM post about how to get into a tech job.
278.1: I'm lying about the interpersonal charm part.
Dammit. I should be going to sleep but now I'm daydreaming about stupid ways to do this.
There's no stupid way to do interpersonal charm. It's just that most of the ways require paying attention to other people's wants/needs/words. That's obviously next to impossible.
Like a loopless matlab version, that'd be something.
I don't know matlab, but in SAS you'd just divide N by 3 and 5 (separate variables). If they equaled an integer, you do the appropriate buzz, fzzz, of fizzbuzz thing. It's just two dummy variables.
295: Ditto. I spent the last fifteen minutes pondering Unlambda's documentation, trying to decide if it was worth giving it a try. I lucked out by being unable to find a web-based interpreter for it. I sincerely hope someone here has a stronger-willed imp of the perverse than I do.
296: Oh, that sounds dreadful. I think I'll stick with programming follies and not learning enough statistics.
Heh. The Ruby implementation on the FizzBuzz page doesn't work.
I apparently wrote something like this (it's been a while since I did the "lesson"):
var reps = prompt("how many times do you want to go through with this?");
for (i=1; i<=reps; i++) {
if ( (i % 3 === 0) && (i % 5 === 0) ) { console.log("FizzBuzz");
}
else if ( i % 3 === 0 ) { console.log("Fizz"); } else if ( i % 5 === 0) { console.log("Buzz"); } else { console.log(i); } }
282 performs too many arithmetic operations!
>>> fizzbuzz = lambda n: [(n, 'Buzz'), ('Fizz', 'FizzBuzz')][n%3 is 0][n%5 is 0]
>>> [fizzbuzz(n) for n in range(1,20)]
[1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz', 13, 14, 'FizzBuzz', 16, 17, 'Fizz', 19]
I lucked out by being unable to find a web-based interpreter for it.
I believe this is where I link to my unlambda interpreters.
Alternately:
>>> fizzbuzz = lambda n: [n, 'Fizz', 'Buzz', 'FizzBuzz'][(n%5 is 0)*2 + (n%3 is 0)]
>>> [fizzbuzz(n) for n in range(1,20)]
[1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz', 13, 14, 'FizzBuzz', 16, 17, 'Fizz', 19]
305: Good show. This is where I cash out--maybe I'll give it a try some other evening.
Admittedly, I was hoping for a web-based one since it'd make it easier to distribute. For a while I was taken with writing stupid programs in Whirl, which was fun mainly because of the wacky "virtual machine". Unlambda could probably lend itself to an amusing visual interpretation as well.
It is paradoxically much easier to write an unlambda interpreter than to write an unlambda program, unless you are writing an unlambda interpreter in unlambda, which a surprsing number of people have done.
It is paradoxically much easier to write an unlambda interpreter than to write an unlambda program
That's a good working definition of an esoteric language.
...which is exactly not what we should be using to teach children analytical skills. Unless we hate the future.
I believe actual useful utilities have been written in False. And Java2K could be of real value in understanding probabilities.
The only programming language I am master of is TADS. This does not say anything good about my intellect or character. I wrote one really terrible game that everyone played, and then I almost finished a second that was a quite brilliant and highly playable exploitation of quite sophisticated coding, and then I got bored with it before I finished it enough to release it. :-(
I spend a disproportionate amount of time on coming up with aesthetically pleasing ways to solve fizzbuzz type problems. It irks me when I have to trade off even some minute inefficiency for nicer code. Also, I get stuck often when coming up with variable names.
I hate it when people fuck with my variable names. I put a great deal of thought until them.
155: There is such a thing as a "likelihood function", but when speaking informally just about everyone confuses them.
Likelihood is a way of comparing how surprised we should be at observing something, under different models of how the world works. So a coin-flip sequence of HHHHHHHH (eight consecutive heads) is more surprising if the coin is fair, than if it's biased toward heads. The assumptions that we're varying between models are called "parameters."
With discrete probability distributions, we could just talk about the conditional probability, and say that the probability of HHHHHHHH given that the coin comes out heads with p=0.5 (i.e. 0.5 ^ 8 = 1/256) is less than the probability of HHHHHHHH given p=1 (i.e. 1 ^ 8 = 1).
(Note that we're NOT answering the question of the probability of a loaded coin - to do that, we'd need to introduce an additional assumption, called a prior. We're just asking, which hypothesis makes the observed data more likely.)
But when we look at continuous distributions, we can't talk about the probability of the observed outcome at all. Any exact outcome of a continuously distributed process has probability 0, because the number of possible outcomes is uncountably infinite. It doesn't make sense to compare the conditional probabilities, since they're all 0.
So what we do is compare the "probability densities" of the different models at that point. Roughly speaking, the probability density is proportional to the probability that the true value is near a point. So observing someone 6-feet-tall has a higher probability density if the average height is 5.5 feet, than if the average height is 4 feet. When we compare these two probability densities, we say that we're comparing the "likelihood" of the two parameters (in this case, a mean of m=5.5 feet and a mean of m=4 feet).
In order to use the same term for this kind of comparison, we also call the conditional probabilities we were comparing in the discrete case, the "likelihood" of the parameters.
If I'd written a fizzbuzz thing, it'd have been almost exactly like x.trapnel's [as we, at my place of work a lot in python at the moment]. The funny thing is, I do a fair bit of programming in my job, but I remember almost nothing concrete about the language I'm currently working with beyond basic syntax [type of loops, booleans, comments, etc] and some basic string and number manipulation stuff. I'd almost certainly have had to go and look up how you calculate mods. I'd fail most programming tests if I had to do everything from memory. On the other hand, I can knock up the program structure quickly, and then a bit of quick wiki-ing/google-ing to fill in the precise details of the functions I've left as placeholders, and Bob's yer uncle.
133: really? I got parallel lines in NZ.
I like geometry at school. Maths that doesn't really use numbers is nice to meet. Also watching it make sense is really nice.
I don't really think lack of basic arithmetic is what leads to bad financial decision making, I think it's a bunch of other stuff, really.
I was trying to figure out some clever way to use conditional indexing but it wouldn't beat "fizzbuzz = lambda n: [(n, 'Buzz'), ('Fizz', 'FizzBuzz')][n%3 is 0][n%5 is 0]".
I don't know how to find clew other than through comments, but here is a JSTOR article based on the same research I heard about, though the focus is probably a little different. I'm not sure because I don't have JSTOR access and don't have entirely clear memories of the talk. http://www.jstor.org/discover/10.2307/3655267?uid=3739680&uid=2460338175&uid=2460337935&uid=2129&uid=2&uid=70&uid=4&uid=83&uid=63&uid=3739256&sid=21101116760061
So we have settled on education as vocational training for capitalist productive units? Techie drones, coders in cubicles? This is modern liberalism?
Unfoggetariat has no soul.
@323 - I think we've decided to replace the algebra requirement and instead let students graduate if they can write a working fizzbuzz program.
I'm still astonished by the initial statement upthread that the majority of interviewees can't do this. I assume it must be something that gets more difficult the more programming you know because either
a) you can't believe that the task is as straightforward as it looks and so become convinced you're being asked to do something else
or
b) you get tripped up in the process of trying to show off
Or maybe lots of people who never actually learned any programming show up to interview for these jobs.
262.
Multiplication is vexation,
Division is as bad;
The Rule of Three doth puzzle me,
And Practice drives me mad.
re: 323
I shouldn't rise to the bait, but I mentioned above that I think our education system(s) should include a lot more intellectual history/history of ideas, and I'd be in favour of more rather than less abstract subjects on the curriculum. The fetishisation of science and technology subjects in education also needs to die a death.
re: 324.last
When I recruited my assistant earlier in the year, we had a significant number of applicants who weren't even remotely suitable. I mean crazily under qualified for what was already a fairly entry level techie post. We interviewed a few who were hopeless, and that has been my experience when I've been recruiting for other things, too.
The fetishisation of science and technology subjects in education also needs to die a death.
Pre-university, on the average, I'd say that death has occurred in the US. All we do now is prepare for standardized tests of reading and math.
As a general rule, science involves getting up absurdly early to have phone conferences with Austrians who talk a great deal.
The fetishisation of science and technology subjects in education also needs to die a death.
I would love it if the acronym STEM would die already.
re: 330
With the other dark horseman of the apocalypse, MODS?*
* librarian humour.
324: I think (hope, really) that a lot of the problem is what heebie describes in 229, where people have a hard time parsing the problem. Either that or one of your suggestions. Even people with EE/CS degrees who are gainfully employed fail the most basic questions you can think of.
There's a question we used to ask, because it's a really basic test of whether or not someone understands recursion, but we stopped because no one got it.
You have a 2xN grid that's supposed to be tiled by 1x2 or 2x1 tiles. How many different ways can you tile it? The question would be accompanied by some examples to make it clear what we were asking. Using pretty basic math (for a CS student), you should be able to write down a closed form formula*. Writing a program to solve it is even easier (conceptually, although it might take more time to write it on a whiteboard and convince yourself that it's correct). After asking it 20 times, no one got it cold, and perhaps 25% of people could get it with enough hints that you should use recursion. Maybe half the people could get it with enough handholding (what's the base case? What's the inductive step? Ok, so what sort of function do you want? Alright, how do you write down the base case? etc.)
The local U is big on formal methods and automated theorem proving, so there's an entire class in that covers inductive reasoning and how to write recursive stuff. This isn't exactly new material to the people we're interviewing.
* I'm not sure that every CS program actually requires a combinatorics class, but every program that I know of at least has people solving recurrences.
If I'm understanding the problem right (I've never taken a class in inductive reasoning -- for that matter I've only ever taken one real CS class), and with the proviso that I had the hint about recursion, that seems... really easy to solve in code? Tile with no edge overlap, right?
I haven't gotten through the whole thread, but as somebody who has taught introductory programming a few times (to undergraduates at elite universities) the idea that fewer students would hit an insurmountable wall being taught coding vs. algebra is laughable. Programming requires a level of abstract thinking equal to or greater than that required by algebra. For even the simplest program, you have to construct a model of the state of the machine in your head, then reason about how your commands will modify that state through time. Students have a hard time grasping loops and subroutines, much less recursion. At the undergraduate level, about half the students just don't get it at all. Then you plan to lose another half when you introduce pointers and data structures like lists and trees. I do phone interviews with people who have degrees in CS who self-evidently don't get this stuff.
If I'm understanding 332 right, the solution is Fibonacci(n)?
I like that 334.last convincingly proves 334.1. (You added value! Just funny.)
330 - But think of the "Amazin'" puns you could make!
Also, wasn't that study regarding programming ever linked here? I'm talking about this one:
All teachers of programming find that their results display a 'double hump'. It is as if there are two populations: those who can [program], and those who cannot [program], each with its own independent bell curve. Almost all research into programming teaching and learning have concentrated on teaching: change the language, change the application area, use an IDE and work on motivation. None of it works, and the double hump persists. We have a test which picks out the population that can program, before the course begins. We can pick apart the double hump. You probably don't believe this, but you will after you hear the talk. We don't know exactly how/why it works, but we have some good theories.
317 is exactly me. I end up writing enough code that it ought to really stick, but there are intervals when I write nothing which are long enough for significant chunks of skill to evaporate. This is something of an important issue right now since a lot of the jobs I'm seeing require exactly my skills plus significant programming skill. I'd hose any test notably harder than FizzBuzz for sure.
335: I think it's Fibonacci(n+1), since when n=1, there's one tiling, and when n = 2, there are two tilings, so the base case is different from the usual representation of that sequence.
The link in 338 shows exactly what I'm talking about. To answer the example weeder question given there, the student needs to have a model where:
1. Variables are "boxes" that hold values. "int foo" introduces a new box "foo".
2. "foo = bar" copies a value from the box "bar" to the box "foo".
3. The statements run in order. The state of the boxes after one statement is the state of the boxes before the next statement.
It's not complicated stuff, roughly on the order of doing division in your head, but some people find it near impossible.
341: What's interesting about that link is that they test to see where untrained students have *any* consistent model, not necessarily the right one. I wonder if more basic training in building models would be possible at a younger age; that seems like the sort of thing that, if it could work, would prevent issues in almost every subject.
341: That's a sucky example for someone who's been exposed to math but not programming, though. I figured out what the answer must be, but expecting someone who's always been exposed to 'a=b' as meaning that 'a and b have the same value' to guess that it means 'change the pre-existing value of a such that the new value of a will be equal to the old value of b' is a little unreasonable unless you've explicitly primed them to know that all symbols in the example are completely arbitrary.
Come to think, 'all symbols are completely arbitrary' doesn't get it for you either, because the whole thing is just noise then. The leap you're expecting them to make is 'Symbols in this example are probably going to mean something related to what you know them to mean, but not reliably so -- they might mean something sort of related but different. With that as your basis, guess the meaning of these lines of code.'
re: 339
I work on fairly large projects, but my coding input tends to never run to more than a few hundred lines of code. It works for me. I'm a perfectly adequate (if rudimentary) programmer, but I don't do it all day every day -- I manage projects that involve coding, and I fix/maintain legacy code, but I'm not really a developer. But I read/lookup stuff quickly, so I'm often quicker at knocking up something that works than my more professional peers. I also am happy to do things quick and really dirty. For example, I'll get a one off chunk of metadata in some grungy XML that I need to do something with. If I know I won't have to do it again, I might well do:
i) write a bit of python that does a walk across the directory structure creating a list of files.
ii) load those and do a bit of string processing/text munging.
iii) dump the lot out as a txt file
iv) load into a text editor with some macro-ing capabilities, and record myself doing some of the shuffling and chopping, play this across the lot and dump the output as a CSV
v) load the resulting csv into mysql and do a select query to merge it with some existing data
vi) dump the output as XML
vii) write a simple XSLT to do something with it.
That's a horrific working process, and my colleagues might well write code for everything, or spend ages building regexps and fucking about with sed or whatever. By the time they've got about 20% through that process, I'll have the output loaded into whereever it's supposed to go. I grumble about my assistant because she'd spend hours trying to find a way to do this elegantly in XSLT. My colleague might code it all in python. I would certainly finish first.
That's a sucky example for someone who's been exposed to math but not programming, though.
Or what if the person has only been exposed to logic programming?! You can't unify 10 and 20!
I mean consider the following sequence of statements:
int a = 10;
int b = 20;
a == b;
At the end the value of a is unchanged. Though I guess if they're trying to determine "any consistent model" rather than "correct for C", that may not be as important.
I wonder if what a test like that is actually selecting for is willingness to commit to a guess on a question that you haven't been given enough information to get a correct answer to: could you change results on the test by giving a pre-test briefing about how the questions are impossible given the information the students have, but that the goal is to develop a consistent set of guesses about how the statements work?
343: My first university CS course was in Pascal, which uses := instead of =, probably for this kind of pedantic reason. The professor gave us a little lecture on "assignment is not equality" when he introduced the notation.
343 Pascal inherited that notation from the Algol family, in all of which:
a = b; a equals b (used in conditionals)
a := b; a is assigned the value of b.
So, e.g:
if not (a=b) then a;=b fi
It's supremely unimportant how you spell things, but you need to be consistent within languages.
The double hump that 338 talks about is something we see in teaching formal logic, too. (I've learned to call it the bimodal problem.) I think it happens whenever you are trying to teach something math-like and a portion of your audience has been avoiding math-like things since 10th grade. Once they step away from it, the lose their ability to grasp even really basic abstractions.
In the glorious future, only maintainers of legacy code will have to worry about destructive updates.
(I hereby discharge the task laid down for me in comment 200.)
347: The other thing I don't like about it is that as the student progresses through the test, their model of what's happening might change as they get more data. I could imagine a student who's already in over their head (by design!) might not change their answer to question #1 because they figured something out due to the structure of question #10. That student would be considered to have an inconsistent model.
348: It's common to use := when writing out pseudocode; I've also seen it occasionally in math classes when defining functions (in general, math is bad about overloading equality). There's absolutely no reason why those very different operators should have the same symbol, beyond tradition and inertia.
Of course, it's possible that being the sort of person who spontaneously decided that the sensible way to treat an impossible problem is to guess at the information needed to make it possible and then treat your guess as if it were knowledge is what that test is trying to identify, and that people who aren't like that tend to have difficulty learning to program.
re: 350
I think the relentless concentration on facts in certain phases of education rather than abstract concepts and/or methods is a big part of it.
There's absolutely no reason why those very different operators should have the same symbol, beyond tradition and inertia.
I like how R uses a stylized arrow "
351: In the far glorious future, only the rich will be able to afford destructive updates. Stateful programming will be considered a barbaric and idle pastime of the upper classes. (Worst dystopian future idea ever?)
That's odd, half my comment disappeared.
I like how R uses a stylized arrow pointing left (I won't type it since I think that's what broke the last comment).
It nicely reinforces the meaning of the operation: take whatever is on the right and put it into the variable name on the left.
343.last: It seems like the leap is more like "I may not know the underlying rules of this system, but they exist and are consistent through time. I can just guess them and maybe I'll be right!" If you think about it, this is the same instinct that makes, say, Microsoft Word tractable to some people and completely unfathomable to others. ("Grandma, why don't you just try it and see what happens?!!!")
re: 360
Yeah. It is nasty. I do proper coding for things that are getting reused, or whatever. But my personal quick and dirty methods [that's just one, there's loads] are very fast. iv) is the odd step, but much faster than buggering about with regexps for some of the things I need to do.
I won't type it since I think that's what broke the last comment
It thought you were opening a HTML tag. This site does that.
re: 360
That said, what I'm doing right now would give people who are used to using nice standard code using open source tools on a linux environment the fear.
Viz, I'm hacking some VBA that's called by an MS Access form, that uses some data gathered by an ancient [originally produced by Wang, ffs] ActiveX control to gather information about images that it uses to generate proprietary image processing macros in a macro format for a piece of software that hasn't been supported for nearly a decade.*
* I'm hacking it to not use the activex control, or the proprietary macro language, but the whole thing is the sort of horrific cludge that my younger colleagues who develop from scratch would shit themselves over.
Catching up on this thread makes me realize two things (1) I'd much rather talk about algebra than programming. (2) While I think of myself as being generally immune to imposter syndrome talking about myself as "a programmer" does bring up some of that feeling.
I know I'm good at my job, I know my job is programming computers, but the sort of stuff I'm doing is so far behind the leading edge that I subconsciously assume that it doesn't count as "real programming." I should get over that at some point.
333: Yeah, like the fizzbuzz question, the hardest part is convincing yourself it's not so easy that you must be missing some critical piece.
I had thought that maybe the question wasn't being conveyed properly, but people here seem to have it figured out, even without being given any diagrams or concrete examples. That would make me think that we're getting uniquely bad interview candidates, except that everyone I've talked to who interviews has the same experience. Maybe we should do an ATM for our next job posting instead of our usual methods.
Hrmm. I suppose that, given what's reported about the bimodal distribution of intro compsci classes, I should revise my beliefs about how teaching programming would be easier than algebra.
HOWEVER, I'll continue to believe in some combination of (1) that programming is better suited to figure-it-out-yourself, Montessori-style learning, which I think we ought to have more of, regardless; and (2) 350/354, ie., it's only because we've screwed kids up so much by the time they get to their first CS class. I realize I'm guilty of No True Scotsmanning here.
331: I thought that was PREMIS.
366.2: Do not overlook the issue of self-selection in who chose to respond.
Fizzbuzz. (And why 215.last--code on your bad days so you can debug on your average ones & test with your utmost powers--is wisdom.)
Knight Capital Group Inc is being forced to raise money after an erroneous trading position wiped out $440 million of its capital, the firm said on Thursday, causing its shares to shed half of their value. ... On Tuesday night, it had put in new software that had a bug, he said. ..."This issue was related to Knight's installation of trading software and resulted in Knight sending numerous erroneous orders in NYSE-listed securities into the market," Knight said. "This software has been removed from the company's systems."
Although fun, the attempts at minimalist implementation of FizzBizz should of course be massively and ruthlessly deprecated in almost all actual programming situations. "Murder your darlings" is even more apt in programming than in writing.
-code on your bad days so you can debug on your average ones & test with your utmost powers
I just spent the last hour debugging a change that I had just made. I'm really not sure about the "code on your bad days" part of that statement, but I do appreciate the sentiment -- good debugging is hard.
372: hey, my first example was bone-stupid and written in javascript. You needn't worry about me.
373: I'm fairly good at debugging, to the extent that I use it as a crutch and have never become very disciplined at testing. On the balance, I think this is worse than having the opposite problem.
Debugging: Sometimes you don't do enough.
371 didn't show on my screen because of a glitch.
For some reason I'm fascinated by the Knight story.
re: 268, and back for second to algebra vs. programming, I wonder if that isn't actually an important point, the whole satisfaction thing.
I mean, as someone with a background in coding and higher math, I'm probably prone to overgeneralizing, but it certainly seems to me that that little high you get from finally getting your program to work is pretty good. And pretty addictive.
Certainly the feeling of success from finally getting "long-division-calculator.py" or whatever to start producing the right output seems like it'd be a lot more addictive and satisfying than, say, the duller feeling of relief you get from finally slogging your way through 9 pages of long division exercises in your math workbook.
What do folks who AREN'T already addicted to solving things with computer programs think?
Relatedly: I wonder if it wouldn't help with "math anxiety" as well. Changing focus to programming as a way to sort of hit the reset button on all that baggage? Maybe those regular little doses of accomplishment could get more people over the initial hurdles that currently scare off so many completely?
I dunno. The whole thing is not really practical, to be sure. It might forever be a peak on the optimization landscape that we can sort of imagine we can see from where we are on a clear day, but which will forever be on the other side of a yawning chasm. Unreachable from here.
I knew the APL FizzBuzz wouldn't disappoint, but God help me if I can make head or tail of it.
⎕IO←0
(L,'Fizz' 'Buzz' 'FizzBuzz')[¯1+(L×W=0)+W←(100×~0=W)+W←⊃+/1 2×0=3 5|⊂L←1+⍳100]
One thing I like about programming is that it's not the teacher arbitrarily deciding what's ok or not, there's an objective measure. This puts the teacher and the students in a less adversarial position.
I have a pretty sick implementation with zero arithmetic and zero comparisons.
I'm fairly good at debugging, to the extent that I use it as a crutch and have never become very disciplined at testing. On the balance, I think this is worse than having the opposite problem.
The importance of testing vs debugging depends a lot on what you're doing.
I've done quite a bit of contract programming and so, like Ttam I believe that there are a number of cases in which quick-and-dirty solutions are good enough. But the stakes are much lower if two conditions are met (1) The consequences of failure are modest and (2) failure is easily visible. It that case it can be good enough to give something back to the client and say, "I've tested with the data I have, try using it for a while and let me know if you have problems."
it's in PHP, sorry:
echo "1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz";
343: "That's a sucky example for someone who's been exposed to math but not programming, though."
Then why didn't those students get better after 3 weeks of class?
The test was administered twice; once at the beginning, before any instruction at all, and again after three weeks of class. The striking thing is that there was virtually no movement at all between the groups from the first to second test.
One thing I like about programming is that it's not the teacher arbitrarily deciding what's ok or not, there's an objective measure.
I'm pretty sure I was once docked points for not having structured a loop correctly and having had therefore to put a test-with-break-statement in the middle. The output was right, but Dijkstra would not have approved.
I love break and continue. Love, love, love. Use 'em all the time. Can't stop me!
Didn't read this whole thread but this seems like the place to put it-
These math problems going around on FB taking a poll to see what people think the answer is make me ashamed of humanity. I think a current one is 5+5+5-5+5+5-5+5*0=? 0 is winning with twice as many votes as 15 (something like 2M to 1M votes.) And the comments are a microcosm of debate in this country- people are certain they're right, don't you try to tell me my reality is wrong. When someone pointed out that the *0 only operates on the final 5 because of order of operations, one guy's response was something like, "You can't just do the thing at the end first because that's when you think it should happen!!!!"
I impulsively clicked on that one, and feel like a fool for participating.
Really, the only control flow you need is short-circuited operators and try/catch.
/* only valid for non-negative numbers; subject to overflow; actually compiles */ public static int factorial(int x) { boolean test = false; int xfact = 1; try { while(true) { test = x <= 1 && ((Object)null).equals(null); xfact *= x--; } } catch(NullPointerException e) { return xfact; } }
Yes, should have said "and while(true)" loops. You can get around them with recursive functions and a sufficiently large stack, which admittedly still leaves us at three ugly control flow operation types besides sequential instruction flow.
371 "This issue was related to Knight's installation of trading software and resulted in Knight sending numerous erroneous orders in NYSE-listed securities into the market," Knight said. "This software has been removed from the company's systems."
I know a very lazy and sloppy former PhD student, capable of writing code blindingly quickly but with no guarantee that it's right, who went to work there recently. Hmmm....
Tell me where he goes next so I can short them.
My current problem-solving fail: I'm staying in a visitor apartment somewhere and I can't get the bathroom lights to turn on. There are switches on the wall that don't do anything, and a wall-mounted light fixture with no apparent controls. The bulbs are not burned out.
essear have you broken charge symmetry?
Is there a switch OUTSIDE the bathroom? Or maybe in the cabinet under the sinaka?A
I am going to keep on making symmetry-breaking jokes until I understand what it means.
But yes, check under the sinaka?A.
There is a switch outside the bathroom. I've tried all 4 combinations of positions of the switches inside and outside the bathroom.
Sorry, I meant under the sifaka.
OK, turn on the switch outside the bathroom and wait five minutes. Then flip it back. Now go in the bathroom. Is it light in there? If not, is the lightbulb hot? If not, CLAP YOUR HANDS!
410: If there's one thing I learned from Myst, it's that the order in which you operate the switches is, if anything, MORE important than the position up in which they end. Just start iterating.
Several other lights won't turn on. I've searched in vain for a fusebox.
I never did finish Myst. Does anything happen?
Apparently Ontario has a holiday called "Civic Holiday." It's like, how much more festive could this be?
403
My current problem-solving fail: I'm staying in a visitor apartment somewhere and I can't get the bathroom lights to turn on. There are switches on the wall that don't do anything, and a wall-mounted light fixture with no apparent controls. The bulbs are not burned out.
Some lights have a on-off switch and a dimmer control.
Just use the screen of your smartphone/laptop to illuminate the bathroom. You can deal with it for real in the morning.
But maybe you didn't clap hard enough.
Is there a place to put your key? Some hotel rooms you need a key in a place to turn lights on.
414
Several other lights won't turn on. I've searched in vain for a fusebox.
This does sound like a blown fuse (actually probably circuit breaker).
Is there a cup to put the egg in?
422 would be way more useful if it was a hotel.
412 was amusing but fails.
Laptop screen! That's creative.
There's no plug in the bathroom or I'd just move a lamp in there.
The last time I visited this place, they put me up in a fancier apartment. The living room was gigantic, but had only wired internet, with the ethernet cable in an out-of-the-way corner. No power outlet was within reach of the ethernet-equipped corner. The room contained several table lamps that were positioned in places where they couldn't be plugged in.
I'm forced to conclude that this country doesn't actually use electricity.
424: I tried to USE BEAN THING but to no avail.
I hope you're not planning to take so much time in the bathroom that your laptop battery would run out of power, essear.
I guess I'll to disable the laptop's sleep mode long enough to take a shower. The screen goes dark pretty quickly when not plugged in.
What do you need to see while taking a shower?
You can get around them with recursive functions and a sufficiently large stack
Or proper tail call elimination.
A gentleman only makes proper tail calls.
What do you need to see while taking a shower?
I can't tell you but I know it's mine.
Finally found a circuit breaker box. Yay, light!
OK, this has maybe finally gotten me to try to make the first baby steps in re-learning a programming language. Basically taking the form of essear's 271* but trying to use simpler arithmetic operations. Not elegant, but gets rid of the modulo in favor of addition and simple equality (and a "space") tests.
>>> output=" "
>>> nextbuzz = 3
>>> nextfizz = 5
>>> for i in range(1,101):
... if(i == nextbuzz): output += "Fizz"; nextbuzz = nextbuzz + 3
... if(i == nextfizz): output += "Buzz"; nextfizz = nextfizz + 5
... if(output[-1].isspace()): output += str(i)
... output += " "
...
>>> output
' 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz '
*I had to google an operator to confirm it was Python, which is what I want to pick up anyway.
431: True. But the language I wrote that in uses a virtual machine that doesn't support that. It seems I might be forced to use a while loop, sadly enough. However, I suspect that if you're clever with using the strategy pattern, you can get away with having only a single while loop in all of your code, while still keeping it largely structured.
Truly, this is the best worst way to write in Java.
I like Stormcrow's implementation because it's a little bit like mine but I never would have come up with that way of handling things.
438: Actually, no, you don't have to be clever. You just need functions. Meh.
439/437: Agreed. That's a completely different perspective from how I would look at it--it seemed natural to me to treat it as a modulo arithmetic problem but there's no reason it has to be. Congratulations on using this as a reason to relearn how to program.
re:440 et all, you can look at this in different ways, e.g this oneliner should work
(putStr . unlines . take 101) $ zipWith3 (\a b c -> if null (a ++ b) then c else (a ++ b)) (cycle ["","","Fizz"]) (cycle ["","","","","Buzz"]) (map show [1..])
maybe that was a bit opaque, always a risk with oneliners
maybe that was a bit opaque, always a risk with oneliners
Take my cryptic program ... please.
not meaning to be cryptic, just was rushed.
The point was that instead of doing any modular arithmetic, in a lazy language (haskell, here) you can just generate infinite lists ["","","Fizz","","","Fizz",...] and walk across them. So this program takes a string from the cycle 3 list, and one from the cycle 5 list and puts them together. If that string is empty, it puts the current number instead.
No calculations or loops needed....
4409.2: Congratulations on using this as a reason to relearn how to program.
Well my reason(s) are theoretically a bit more grounded, yet they apparently were not sufficient to get me to actually put characters to screen.
441 is amusingly similar to a fizzbuzz implementation described on a page linked on hacker news this morning or possibly last night. But really, don't you want to lift that repeated (a++b) out? "let s = a++b in if null s then c else s".
445: No judgment intended (but thanks for the explanation, it looked like something like that), but in the service of a stupid joke I (and a few others here ...) are willing to mischaracterize anything.
441: huh, haven't seen that. FizzBuzz isn't really hacker news worthy, is it?
Anyway, yes of course I should have lifted the concatenation out. OTOH, I'm happy that it actually compiles and works, since I hadn't tried that when posting.
I just thing it's an interestingly different way to think of the problem, as I was reading over the variants above.
also, my haskell is very rusty
FizzBuzz isn't really hacker news worthy, is it?
It was some "thinking with haskell" post or something, not specifically fizzbuzz-related.
I spent a couple of years recently doing individual math tutoring professionally along with substitute teaching in some of those basic algebra classes where the students are struggling. Some thoughts from the trenches:
I think there are a lot more students who are *not* learning algebra successfully than there are students who *can't* learn it. If you made me czar of teaching algebra to struggling students with an unlimited budget, I'd go for a lot of individual/small group tutoring of students with more or less matched abilities in a group. Student:teacher ratios of 4:1 or less. Variable lengths of time to master the material - some kids may get it in a semester or two, others may need more time. Detailed report cards on areas of skill mastery, but make the overall course pass/fail, where pass means that you showed up regularly and contributed to the best of your ability, making reasonable progress. You progress when you have demonstrated sufficient mastery of enough key skills to be able to pass the HS exit exam. Sort of like the Red Cross swimming lessons - you can repeat a level as needed without being repeatedly tagged as a failure, and progress when your instructor thinks you have mastered the key skills of the level.
Trying to work with a class of 25-30 students at widely varying skill levels, and marching them along in lockstep to get through all the material in a single semester/year is a recipe for disaster. Repeatedly failing the kids until they can pass sends all too many of them the message that they are failures, who give up as soon as they see that they aren't going to pass this time. The teachers I've talked to know this, but the system is hard to fight. I think that the problem is solvable given sufficient resources - but I doubt if we have the will as a society to devote such resources to solving the problem.
My solution for FizzBuzz would work better on superpipelined processors. I wrote it in C for maximum efficiency.
int main() { int i;for (i=1; i printf("%d %d Fizz %d Buzz Fizz %d %d Fizz Buzz %d Fizz %d %d FizzBuzz ", i, i+1, i+3, i+6, i+7, i+10, i+12, i+13);
}
printf("%d %d Fizz %d Buzz Fizz %d %d Fizz Buzz ", i, i+1, i+3, i+6, i+7);
}
Since in this version the branch is almost always taken, that improves branch prediction, which is important for performance on modern processors.
452: To give an example, one of my Algebra 2 clients was struggling with rational expressions - stuff like simplifying (2x+2)/[x(x+1)] + 4/[x(x+2)]. I worked with him a little bit, and discovered that he also had trouble doing the analogous stuff working with fractions. So we spent some time talking about fraction computations, I printed out a couple of worksheets on fraction problems with the answer keys to work through on his own, and when we came back to working with rational expressions a couple of weeks later, he did just fine.
That's the kind of stuff you can do when doing individualized instruction - not "you need to go back and take fifth grade math again, you dummy", but "here's a skill that you haven't gotten solidly enough that is hurting you with the stuff we are trying to learn now - let's take a digression to make that solid, and then come back to the topic we were working on." I've seen similar stuff going on with some of the kids in algebra classrooms I've been in. I've seen several kids who are having trouble working with polynomials because they are having trouble working with negative numbers, or are a bit shaky on multiplication. But it's much harder to work with there when you have a large class to deal with, a schedule to keep up with, and a bunch of discipline problems to address.
That said, one of the factors going on in my tutoring work was that both the kids and the parents were engaged in addressing the problems. I didn't have to deal with kids who weren't showing up, or not doing the homework, or who had completely dysfunctional home lives. My client's mom was paying good money for my time, so she followed up to make sure he did the practice work. So I'm not absolutely sure how well my experience generalizes. But I do think there are a bunch of kids who aren't getting it, but who could get it with some individualized help.
simplifying (2x+2)/[x(x+1)] + 4/[x(x+2)]
Gosh, it's apparently been a long time since I took algebra. I get that the first part reduces to 2/x, but what do you do with the second part?
Is the answer: 8/(x3 + 2x2)?
455
Is the answer: 8/(x3 + 2x2)?
No, you are supposed to add the two parts not multiply them together. So you find a least common denominator and then add the numerators. So
2/x + 4/(x*(x+2)) = 2*(x+2)/(x*(x+2)) + 4/(x*(x+2)) = (2*x+8)/(x*(x+2))
Not something with a lot of practical value.
Thanks James. I see my error.
And you just did algebra as an adult!
You have a 2xN grid that's supposed to be tiled by 1x2 or 2x1 tiles. How many different ways can you tile it?
If I'm understanding the problem right (I've never taken a class in inductive reasoning -- for that matter I've only ever taken one real CS class), and with the proviso that I had the hint about recursion, that seems... really easy to solve in code? Tile with no edge overlap, right?
I'm glad this thread is active, because I wanted to ask about the above problem. I just don't see the obvious way to do it using induction. I was thinking about the problem this morning, and I got the solution*, but I was clearly doing it the hard way, and was curious what I was missing.
*Here's my solution. I realized that the constraints of the problem mean that you could think of as a 1xN grid which is populated by some combination of 1x1 or 1x2 blocks. EG, for a 5x2 grid if you had (with the two 1,1 indicating a block of two vertical tilings)
++
-,-
-,-
++
++
That's really just +,-,+,+ in terms of counting combinations.
So the solution I got for a 2xN grid to was:
total = 0
for a = 0 to floor(N/2)
' a = number of pairs of "vertical" blocks
' b = number of "horizontal blocks
b = n -2*a
Total += (a+b)C(a)
next
But that wasn't an inductive approach.
The inductive approach is to say that the tilings of a 2xN (or 1xN in your simplification) board can be divided into two groups: ones that start with a vertical tile (or a 1x1 tile) and those that start with two horizontals (or a 1x2). Then recognize that size of the first set is equal to the number of tilings of a 2x(N-1) board, and the second a 2x(N-2) board. That is, f(N) equals the number of tilings of a N board, f(N)=f(N-1)+f(N-2). With appropriate boundary conditions, this is a Fibonacci sequence.
That makes sense.
I was almost there, but my simplification to treat the height 2 block as just "a block" kept me from seeing that step.
One advantage of my solution, however, is that it generalizes to a solution for any X by Y grid tiled by 1-X pieces.
But I definitely missed the "aha" piece of that puzzle.
145: Re: proving that (-a)(-b) = ab. A full formal proof from first principles can be rather long-winded: Hofstadter gives a 56-step TNT proof that multiplication is commutative in Godel, Escher, Bach. But a proof in the sense of a sufficiently convincing demonstration isn't too hard. The basic idea is that we want to define multiplication by negative integers so that the rules that apply to multiplication of positive integers (commutative, associative, and distributive) continue to apply when we multiply negative numbers.
With a group of 5th or 6th graders, I could give a decent demonstration at the blackboard with a number line that we want to define multiplication by a negative number to be the same result as multiplying by the equivalent positive number, but just flipped to the opposite side of zero. (A result that is conceptually consistent with the multiplication of polar-coordinate complex numbers, if they get to learn that years later). I would work them through that with a few concrete examples with small integers. Once they get that, the idea that multiplying two negative numbers means that you flip twice (which brings you back to your starting point) should follow naturally.
For more advanced students who can manipulate variables algebraically, you can prove that (-a)(-b) = ab just from the assumption that commutative, associative, and distributive laws continue to hold for negative numbers. First, you show that multiplication by -1 gives you the additive inverse: b(-1) + b = b(-1) + b(1) = b(-1 + 1) = b*0 = 0. So whatever b(-1) is, it must be the additive inverse of b (because they add to 0), which we designate as -b. Thus b(-1) = -b, and by commutivity, (-1)b = -b also. In particular, (-1)(-1) must be the additive inverse of -1, which is 1.
Then we can just use substitution, commutivity, and associativity to prove the desired result:
(-a)(-b) = [a(-1)][b(-1)] = [a(-1)][(-1)b] = a{(-1)[(-1)b]} = a{[(-1)(-1)]b} = a{1*b} = ab.
I don't see anything in that version that should be too difficult for high school students who are moderately comfortable with symbolic manipulation. And this is one of the points of learning algebra: it gives you a way to reason about and prove properties of numbers in general, not just the particular arithmetic examples you happened to try.
461
One advantage of my solution, however, is that it generalizes to a solution for any X by Y grid tiled by 1-X pieces.
So does the other solution. f(n)=f(n-1)+f(n-x).
So, uh, JRoth told me abou this thread. And since I am in a bit of a panic about how to keep PK moving forward in math, I am popping in at almost 500 comments to ask if Heebie and Dave W can point me in a good direction.
(1) What texts/curriculum/approach *would* you use for a kid who is awesome at math reasoning but who loathes the "memorize this set of steps and apply it to this worksheet of similar problems over and over again" approach? He likes math, thank god, but he hates textbooks. It's sounding from this thread like that doesn't mean he's doomed, but it leaves me not knowing what to do with this whole "home schooling" thing.
(2) Alternatively (or also), what book or two would you recommend to me to get a quick and dirty handle on math pedagogy to get a kid through algebra (and if you're feeling super generous, trig and calculus?). I was one of those who liked geometry best (PK likes it too, the little he's done), but the more "here is a string of numbers and variables and functions" stuff really makes my eyes glaze over.
Hiya, T! I don't actually know much about k-12 resources, but let me fire off a couple emails and see what comes back.
Bless you.
Having followed the links in this thread, I've found a couple of nearby math circles. The nearest one is headed by the first person on this page: http://santabarbaramathellipse.org/middle/people.html
Turns out she homeschooled her own kids and responds to email almost immediately. I'm feeling hopeful; although it's quite likely PK will refuse to even try it, he's so freaking anxious/angry these days about anything that even smells like school, both she and the "math circles" concept sound like the kind of thing that could tap into his intellectual curiosity instead of triggering his defensiveness.
Uh, to be a smartass. Good luck PK!
Does he like to program?
Hi, Tedra. When tutoring, I tended to go with whatever textbook the student was already using, supplemented by my own knowledge. So I may not be too much help there as far as textbooks go. They certainly vary, and I've encountered a couple that were downright lousy, but I don't think there are any I would say "this is so wonderful it teaches itself." They all tend to have the "introduce a topic, followed by lots of exercises" format. What grade is PK in these days?
One thing I can suggest is that when I was in junior high, I had the great good fortune to have a school library with a lot of interesting books about math. I wound up teaching myself about a lot of topics not in the standard texts just by reading about stuff. I don't know how well that generalizes to other people, or what PK might find interesting vs. confusing. But I think there's a lot that can be learned from browsing a good book about math, particularly if it's seen not as something you have to get through now, but something you can come back to from time to time as you get more background. Particularly if it's something that you can browse ahead of or along with him, and form some judgements about what he might be ready for.
I'll try to pass on some specific thoughts later - but one thing I will recommend is just about any of Martin Gardner's collected columns from Scientific American. I read his column religiously through jr. high and high school. He had a wonderful way of taking all kinds of mathematical games and topics and making them interesting.
one thing I will recommend is just about any of Martin Gardner's collected columns
Huh, this is very smart.
The Gardner suggestion is good, although it may depend on PK's current level. I always learned math the best through getting interested in a puzzle or a problem, and thus motivated would be ready to absorb the math that I hadn't been able to figure out. Textbooks seemed to be organized around making it as axiom-focussed and unexciting as possible.</overly broad generalization>
@Sifu, he hasn't gotten into it yet but has expressed some interest. (He gets the concept behind binary numbers, of course, and enjoys binary jokes.) I don't know shit about programming, myself, and was wondering about that as I was reading the thread: would learning programming be an adequate "substitute" for your standard math curriculum, a good supplement, or what? He needs to learn algebra but gets very pissy about "worksheets" and such very quickly.
@Dave: Browsing books about math has been his favorite math-related learning activity so far. He's 11 and going into 7th grade; ready to start algebra. He understands things like fibronacci sequences, pyramid numbers, imaginary numbers, irrational numbers, exponents, and so forth very well. He's convinced that it is in fact possible to divide by zero and will tell anyone who listens that he has a "proof" that zero = infinity (which he'll explain, as well; the logic is slightly flawed but he gets the concept of proofs, anyway). I actually bought him a Gardiner book this summer, as it happens; he tends to love that sort of thing, and I recently saw it by his bed so I think he's dipping into it. Will present him with the Sci American columns link later this month when we sit down and start talking about what he wants to do home school wise...
472.1: I mean, I have no idea. I loved programming but loathed math class until I got to calculus. I guess I worked out in the end? Not a path I would recommend.
Anyhow the thing about the programming path is that you eventually realize you actually need math to do the cool things you want to. 3D modeling/a 3D printer might be another interesting, geometric way in. Can't do 3D transforms without matrix math, can't do matrix math without trig (or, certainly, algebra).
If he likes solving problems these books are a good source (albeit a bit over priced in my view, some libraries may have some of them, or you might find used copies).
472
... would learning programming be an adequate "substitute" for your standard math curriculum, ...
If you are aiming for a good score on the math SAT or preparing for a STEM major in college then no.
Shearer is mostly correct. You could probably hack a STEM major with the right motivation, but much better to cover the ground now.
would learning programming be an adequate "substitute" for your standard math curriculum, a good supplement, or what
I vote for "good supplement", but really the ideal would be (ahem, my hobbyhorse) to teach each in conjunction with the other. Programming 101 exercises often involve constructing algorithms that use basic algebra and trig to, for ex, make a Pong AI. What you get from that is the ability to transfer the ideas from one context to the other, which helps obviate the idea that "learning" the material is just regurgitating a textbook way to do certain kinds of symbolic manipulation.
I learned Calculus from Downing's "Calculus the easy way", which is a story book. I liked it quite a lot, and it might appeal to someone who didn't like text books. There's a similar book about algebra, also told as a story book. I haven't read that myself, but it seems like it might be worth looking into.
I was about to suggest Gardner, but I see I've been pwned. There's a lot of Gardner books (of columns) and they're really great. My favorite math book (which he won't be ready for for a few years) is "Journey through Genius."
What I did when I was homeschooled and that age was to just read all the math books in the public library. So you might not need to worry about picking books yourself, just let him pick them.
I loved Gardner's book on paradoxes when I was a kid. On the other hand, I liked doing exercises, at least in elementary school.
Seventh grade was the year when I basically begged my math teacher to give me a bunch of old textbooks on everything from algebra to calculus and became the horrible bore I am today.
There are "binary jokes"? Huh.
There are ten kinds of people in the world, essear.
No, wait, I told that wrong.
There are ten kinds of people in the world, essear 01100101 01110011 01110011 01100101 01100001 01110010.
472/483: For reading a pile of texts and becoming a bore, I really liked the Springer Undergraduate Mathematics Series. IIRC, all of the problems (even proofs) have solutions, and there are lots of problems, so you can try the problems to see if you actually get the material. Also, most of the books have clear exposition. My problem with reading most books straight through (especially advanced texts) is that they're just theorem, proof, theorem, proof, etc.. You can try to see if you get the material by covering up the next proof and doing it yourself, but the theorem is often something that took a brilliant mathematician years to solve, so what hope does a schmuck like me have?
I don't think the SUMS books have an intro to algebra, but there are a few that probably don't have algebra as a pre-requisite (IIRC, there's a book on logic, and one very basic one on discrete math and graph theory), and once you have algebra, I bet all of the books are accessible only using other books in the series.
The books may or may not be suitable for someone who doesn't like textbooks, depending on the reason. I've heard people complain that books that aren't written in the style of Rudin have too much explanation. Those people won't like these books. OTOH, they're also fairly rigorous, so they're not so good if you want a high level "X for dummies" style overview.
Man you have to be pretty 111101001101001 to get these jokes.
010010010010000001101100011010010110101101100101001000000111000001101111011011110111000001101001011011100110011100101110
48: 53 6f 20 64 6f 20 49 2e 0d 0a
48: s/b 488:
I was always bad with numbers.
Martin Gardner's a good suggestion. I would add that my parents used to entertain me by reading me logic puzzles from Raymond Smullyan books, but I'm not sure if PK would find that fun or stressful.
Overall though, I think James is right to ask what the medium-term goals are. To teach algebra, to teach general numeracy skills, or to prepare for some specific test of requirement.
For me the biggest change in my experience of math class was when I started doing math team, because it created a situation where I actually cared about getting the right answer. Prior to that I didn't care if I made lazy errors on 20% of the problems in a set, I had confidence that I knew what I was doing, and I wasn't invested in success or failure. But when getting problems right counted for something (and, for whatever reason, math team counted for much more than match class did) I became much less lazy and that carried over.
So I'd try to figure out what situations motivate him to actually care about the answers and see if you can work from there.
493: What was the default base in Lisp Machine Lisp?
I did not know that!
Actually my experience with octal consists I think entirely of joking about it. I've never run into it in practice.
Wow, you guys, that's super-helpful.
The goal from his point of view is that he currently wants to "be a scientist" (he likes chemistry a lot, though recently he's getting much more interested in physics). Obviously if he starts actually trying to calculate things in either discipline he'll figure out that he needs math pretty quick.
The goal from my point of view is that he loves math, by his own admission, and I want him to rediscover that and get him past/through this knee-jerk loathing of all things that whiff of school. Also I do expect he'll pursue some kind of STEM field, so. And Mr. B. is adamant that This Kid Is Going To College, so.
Thanks for the suggestions and explanations re. programming. Maybe I'll see if I can get him to start doing some programming alongside some algebra; I think that the "this has actual applications to the Real World" is pretty important to him right now.
Tedra, if you see Asilon around here (or elsewhere) you might ask her too. She does (did?) homeschool & tutors maths.
I think that the "this has actual applications to the Real World" is pretty important to him right now.
A lot of the early math developed to calculate probability was done for gamblers. I wonder if there's any good book that goes through that history and works through the math as a way of explaining what the smart bets are. There must be, but I don't know any off the top of my head.
Getting to far into probability could be more of a sidetrack than you want, but some simple probability could be a good companion to algrebra.
Getting to far into probability could be more of a sidetrack than you want, but you should make sure he knows enough to pick the winning side when the Bayesian/frequentist holy war turns violent and plunges the world into a dystopian future.
Thinking about various books I read in Jr. High school:
Flatland (by Edwin A. Abbott) - A timeless classic. This book got me thinking about higher-dimensional shapes and how they could be represented by slices in two or three dimensions. There is an online version (with some messed-up typography) here: http://www.geom.uiuc.edu/~banchoff/Flatland/
The Compleat Strategyst - this book was my introduction to two-player Game Theory, written in a way to show a bunch of tricks to compute optimal strategies without requiring algebra. It is available as a free PDF download: (http://www.rand.org/pubs/commercial_books/CB113-1.html). I read the first edition; the second edition includes a chapter based on the simplex method for solving larger examples.
There was some sort of golden book of math I encountered in 6th grade that I remember for introducing me to Pascal's triangle. I haven't been able to find it again, but "G is for Googol" is a pretty good kid-friendly modern substitute.
Second Book of Mathematical Bafflers (edited by Angela Fox Dunn) - Recommended with reservations. The problems are at mixed levels of difficulty without a good indication of which ones are easy vs. hard. The explanations of the answers are pretty terse. But many of the problems are solvable by a bright jr high student, particularly one who is doing outside reading, and they tend to be pretty interesting.
The Education of T.C. Mits, by Dr. Lillian Rosanoff Lieber (http://en.wikipedia.org/wiki/Lillian_Rosanoff_Lieber). There is an excerpt at: http://www.physicscentral.com/explore/writers/lieber.cfm
I also read a book on infinity and Cantor's work, which I think was the Lieber's "Infinity: Beyond the Beyond the Beyond," from what I can tell from the preface to the revised (and abridged) edition: (http://pauldrybooks.com/mm5/pdfs/infinity_takealook.pdf). Both of these books are now back in print after many years, republished by Paul Dry Books.
I also read a book on Number Theory, which I think might have been "The Higher Arithmetic" by H. Davenport. (This book should definitely wait until after algebra, though I might have read a more basic book first).
None of these will (in general) be on the SAT or in the regular high school math curriculum, but they all are interesting topics that can inspire a life-long interest in math.
That's a great list, thanks!
And re. the probability/gambling suggestion, his 5th grade teacher did used to have them play blackjack and calculate the probabilities. And he loved it. That's a really good suggestion, actually.
I'd like to know the prior for 501.
The Compleat Strategyst
I had forgotten that book! Good book.
Is this thread still active? I was just looking at my bookshelf, and I have a few books that are suitable for someone without algebra (including one programming book that's really a math book in disguise), and a bunch that technically don't require any background beyond algebra (although many of those would be challenging even for most college students). I'd be happy to send them along, if you think you might use them. Just send me an email if you want to set something up.
Sorry if I don't respond right away. I'm about to head off to a dance competition. Typically, there's competition all day and then partying and random social dancing until 5 or 6 am, so I might not have the energy to check email until Monday.
Sorry if I don't respond right away. I'm about to head off to a dance competition. Typically, there's competition all day and then partying and random social dancing until 5 or 6 am, so I might not have the energy to check email until Monday.
humblebrag? Sounds fun.
More math books I can recommend:
Overcoming Math Anxiety, by Sheila Tobias
The one book on pedagogy I recommend, this has a lot of useful info for the non-math anxious as well as some thoughts about problem-solving and learning approaches, and comments about how women (in particular) have tended to be subtly steered away from careers involving math. Also mentions how lack of math can severely limit your choice of college major and career.
Puzzle books by Raymond Smullyan. "What is the Name of this Book?" is the one I have read. Starts from some simple logic puzzles involving liars and truth-tellers, and adds complications from there. A lot of his puzzle books seem to involve liar/truth teller puzzles in various guises, so I'm not sure how repetitious they get when you read more than one.
How to Lie With Statistics, by Darrell Huff. The examples from the postwar years seem a bit dated, due to inflation (a factory worker making $2,000 a year? $25,000 a year meaning you are set for a very comfortable life?), but the overall lessons (in that case, a lesson in how the mean vs. the median income gives a misleading picture of the overall income distribution) generally remain valid.
Godel, Escher, Bach: an Eternal Golden Braid, by Douglas R. Hofstader. An amazing book on mathematical proof, Godel's theorem, Escher drawings, artificial intelligence, and a lot of other stuff. I particularly like the dialogue on the ...Ant Fugue, in which the various speakers take on fugue-like roles (entering at various times, repeating themes other speakers have introduced before going on to produce their own variations, etc.) while discussing the structure of fugues. PK might want to wait a bit before tackling some of the math, although the early examples should be easy for him to understand.
Mathematical Tables and Functions, by Robert Carmichael and Edwin R. Smith. This is the one book I always carried with me while tutoring, even though the first two thirds of the book has been rendered largely obsolete by the invention of the scientific calculator. The first two thirds consist of large tables of mathematical functions - logarithms, trig functions, square roots, etc. to multiple places. These days you would just use a calculator, although I have wondered if there would be some pedagogical value in having students use a table of common logs to compute some mathematical expressions in scientific notation without a calculator - it might develop a better intuition about logs and why they used to be far more important than they are today.
But the last third of the book is a condensed reference to formulas from algebra through calculus - a massive cheat sheet that covers all sorts of stuff, from the binomial expansion, graphs of various equations, trig formulas of various kinds, a massive table of integrals, and a bunch of useful infinite series. It's all very compressed - no explanations, it's just a reference list, but it's a massively useful one once you have studied the topics in question elsewhere.
Puzzle books by Raymond Smullyan
I mentioned Smullyan upthread. I can say there was a time when I loved his puzzles and then, at some point, they started to feel like work, rather than fun, and I don't remember what age that shifted for me. But they're definitely well written as far as puzzle books go.
Godel, Escher, Bach: an Eternal Golden Braid, by Douglas R. Hofstader
I would add Metamagical Themas (the collection of Hostader's Scientific American columns). It isn't as good a book as GEB but, as a collection of columns, it's easier to start and then put down or skip around if it doesn't work.
GEB is a classic, of course, but I just think it might work better for somebody a little bit older than PK.
509: GEB is a classic, of course, but I just think it might work better for somebody a little bit older than PK.
Sure. Like I said, he might want to wait a bit before tackling some of the math. A bunch of it may make a lot more sense after confronting mathematical proofs in Geometry, or even later. On the other hand, there are pieces of it, particularly the early parts of the book, that he might get now. I wouldn't *assign* it, but there are pieces that might interest him now, or later. It's the kind of book you might want to have around for when he has the interest. It partly depends on whether you think he might have the reaction "this is too hard - I never want to read this again" vs. "this is too hard right now - let me come back to this in another year or two."
510, continued: Actually, there's one other reaction that he might have, which I had back in the day: "I'll go ahead and read this to prove to you that I'm smart, and not let on if there are significant parts I don't get." That's how I wound up doing book reports on Herman Hesse and James Baldwin back in junior high, when my peers were reading sports books or light fiction. Sure, I understood the words, but there were a lot of nuances I didn't get that I would have appreciated more a few years later It probably would have done me good to read and report on stuff I enjoyed reading, rather than stuff I thought I should be reading.
There's nothing intrinsically wrong with reading stuff to challenge yourself, but it's helpful if you can then discuss it with a peer, guide, or mentor who can help steer you into a deeper understanding of the material. (That, by the way, is one of the potential benefits of that math circle in 466.)
So sure, hold off on GEB until he's a little older, maybe through Algebra 2 or so, or earlier if he develops an interest in Number Theory. Most of this second group isn't necessarily stuff for right now, but just stuff that isn't "books I read in junior high" but can still be interesting to the bright jr. high or high school student.
@DaveW--Thanks and more thanks.
@Sral--was that intended for me? Emailing to find out.
Also, re. GEB, that's a book Mr. B. has tried before to talk PK into reading, without luck. So PK seems (I think) fairly resistant to the reading-over-his-head-to-prove-something-to-the-adults thing. Sadly, the adults in his life (me included) aren't very good at refraining from "encouraging" him to read adult things we think he might be ready for. Am trying *really hard* to take the approach of "here's something I thought you might be interested in, what do you think?" for now (hence wanting to gather as many resources as possible) rather than the "you must read this" approach, although I'm not at all sure how long my patience will last if he keeps doing this NO NOTHING TO DO WITH SCHOOL thing.
There were two or three books in a series at my local library that I liked a lot sometime early in high school, which were full of little two-or-three page mini-introductions to various mathematical topics. Nothing in much depth, but sort of a whirlwind tour of interesting tidbits of mathematics beyond the sort of thing you get in a normal high school education. Glimpses of what topology, number theory, etc. are about. I wish I could remember the name of the author or the books; they were fun, and definitely gave me some sort of acculturation that helped me figure out where I was going when I tried to dive into more advanced topics later on.
I heartily endorse the various books of Martin Gardner, particularly (in this case) Aha! Insight! and Aha! Gotcha!.
I see people have already recommended Gardner, but those two books are collections of brainteasers doable by a junior high schooler.
I can say there was a time when I loved his puzzles and then, at some point, they started to feel like work, rather than fun, and I don't remember what age that shifted for me
There's also the fact that some of those puzzles are fucking hard.
I also liked the Gardner column and books.
However there is a potential problem in that I suspect most of the people giving advice in this thread are in the top 1% of mathematics ability and it is unclear that what was attractive to them would be equally attractive to a less talented kid.
when the Bayesian/frequentist holy war turns violent and plunges the world into a dystopian future
Right, it's not a dystopian future until after the war.
518: However there is a potential problem in that I suspect most of the people giving advice in this thread are in the top 1% of mathematics ability and it is unclear that what was attractive to them would be equally attractive to a less talented kid.
Oh, absolutely. I'm going in part by tedra's description of PK as a bright kid who is bored to tears by doing full problem sets when he's already mastered the principles involved, and the fact that they seem to have some pretty awesome math resources available in the community (and through Mr. B). I don't know how far down the percentile scale you can go and still have an interest in reading about this kind of stuff, but it seems like it might be worth tossing some of this stuff out there and seeing if he likes it. Given that the main problem right now seems to be to keep him from burning out on math as taught in the standard curriculum, it seems worth taking a few chances to see if tedra can really engage his interest. I wouldn't be making the same recommendations for a kid who was still struggling to master basic arithmetic skills.
Demotivation can be a major problem. In the "shoemaker's children go barefoot" category, my own son burned out enough on high school preCalc (and the way prior math was taught/graded) that he has resolutely refused to take much further math in college, in spite of test scores that indicate it would likely be one of his strongest areas. (He's taken one stat course for non-majors, and refused to go further in spite of the encouragement of his stat prof who thought he should continue with the regular sequence, and has refused to even consider taking calculus or discussing it with me. My wife has convinced me that further pushing/encouragement on my part is likely to be counterproductive.) So I'm all over the "get the kid excited about some aspect of the subject" approach if at all possible.
#515: Thanks for the specific suggestions, snarkout.
#518/520: Yeah, I don't know if PK will latch onto this stuff or not, but his test scores are pretty damn high. And, more importantly I think, he really *enjoys* trying to figure mathematical concepts out, if not algorithms. Everyone has been incredibly helpful; thanks, guys and gals.