7 ms·
> Why use X and Y when you could carSpeed and carAcceleration? (...) People can't relate at all to math when all the examples use generic terms without context.
by enriquto 5y ago
> Why use X and Y when you could carSpeed and carAcceleration? (...) People can't relate at all to math when all the examples use generic terms without context.
Couldn't disagree more.
The whole point is that you don't care about the meaning of the numbers. They are just numbers. A big part of math is learning to strip numbers of their context and look at them bare.
Besides, variables with several letters in them are extremely ugly. They look like products. (They should be banished from programming languages also, but I realize that this is a controversial idea.)
- umvi 5y agoVariable names with several letters in them should be banished from programming languages? What do you do when you need more than 26 variables in your program?
- sideshowb 5y agoUnicode bro!
- adam_arthur 5y agoAh, sounds like the common trend in the hard sciences of putting "difficulty" on a pedestal. Can't make it too easy to learn, need to make things generic and obtuse so only the most dedicated can master the material! You can apply context to any generic abstraction/formula, otherwise the math is useless, by definition. Teaching people effectively requires context. I hope I don't have to read your code with single letter variables everywhere then! There's a reason that's considered a bad practice. Math gets a pass, why?
- enriquto 5y ago> Ah, sounds like the common trend in the hard sciences of putting "difficulty" on a pedestal. Can't make it too easy to learn, need to make things generic and obtuse so only the most dedicated can master the material! I'm not sure that this kind of snark is helpful if you want to teach something. My point is precisely to make things as easy as possible, not harder! Variables are just slots. How would you rewrite the following using "meaningful" variable names? The two solutions of aXX+bX+c = 0 are X=(-b+√(bb-4ac))/2a and X=(-b-√(bb-4ac))/2a ? Any "meaningful" names that you could assign to the terms X, a, b, c would depend heavily in the context. You would convert this equation into an unrecognizable monstrosity. But this equation appears in many different, completely unrelated contexts! The main point of math, I'd say, is that no matter what is the context, the equation is always one and the same and it is solved in exactly the same way. Thus it pays off to have variable names as meaningless as possible.
- adam_arthur 5y agoApologies for the snark, definitely not warranted. I do see sentiments along those lines a lot, so it's a bit of a pet peeve of mine! My suggestion is to first teach the generic concept wrapped in context that's more relatable to the student. Similar to code, it's easier to understand the purpose of a variable when you understand the surrounding context as well. For your formula above, you could define the axes as something meaningful. Say, e.g. instead of A, B and C you have Supply, Demand and Price. If I read a formula such as: Demand = 100 + 50Price Supply = 50 + 20Price It's easier for somebody to relate to utility of the math than something like: A = 100 + 50C B = 50 + 20C Of course, the math is exactly the same, but you give the student something to relate to. Now, Supply/Demand is not something the average person can relate to. Obviously context has something of a cultural and familiarity bias. But there are examples that are likely to be close to universal. I use economics here, just because it's a discipline I'm familiar with :) I don't advocate teaching strictly in contextual examples, but to use them first to provide ELI5 level introduction to concepts. The utility behind the math becomes more clear. Of course, this is just my take/experience. I spent the majority of time in college skipping class and self teaching, and I discovered that the fastest approach to learning something new is to start at highest level of abstraction and work down. Usually I would learn concepts from resources other than the textbook, as they conveyed information more effectively. Trying to learn concepts "bottom up" rather than "top down" works, but is less time efficient.
- username90 5y ago> Of course, the math is exactly the same, but you give the student something to relate to. No, you give the student an extra problem they need to solve: Figure out what the hell supply and demand has to do with price. Understanding that isn't expected of high schoolers and teaching it isn't a part of mathematics. History shows there are no intuitive equations outside of basic counting and summing. Even the concept of rate of change weren't explored before the 17th century, before then people had very ridiculous views on what equations physics uses, that is what you get if you try to invoke students intuition here.
- 5y ago
- wisty 5y agoAbstraction makes the mechanics of solving a problem orthogonal to the specifics. It's easier to do abstract reasoning (spotting deep connections between patterns) when you abstract things. I'm pretty sure this has some solid evidence behind it. It's really a question of whether you want to teach solving problems in general, or teach how to reliably solve a specific problem. If it's the latter, sure, in other subjects (e.g. accounting, science) they use specific terms a lot more, because the problem is more important than the problem solving. As a teaching tool, teachers start with "3 apples" rather than "3x" problems. This is usually closer to K than 12 though.
- adam_arthur 5y ago> Abstraction makes the mechanics of solving a problem orthogonal to the specifics. Not sure what you mean. Providing context does not change underlying math or mechanics of solving the problem at all. Just the same as if you asked somebody to solve FizzBuzz or BeepBoop. What it does is make the rote exercise of solving more meaningful and relatable. Things that are relatable tend to be more easily internalized. Talking about early childhood apples etc is missing the point. I'm talking about generic methodology to learn a new concept in a timeboxed way, not a multi-year development. Though thinking behind the two is the same.
- username90 5y agoIt changes the problem in the minds of the student. If you call variables X and Y they wont assume that X and Y are special for this case. If instead you call them kilograms and kilometers people will assume that you teach them something that has to do with kilograms and kilometers and not some general purpose math equation.
- adam_arthur 5y agoIt's easy. You say here's a general purpose math equation. Now here's an example of computing something useful with it, using real world concepts.
- watwut 5y agoLetters make it easier. If you insist on everything being sentences, you will hit the ceiling fast. The notation did not developed because people were bored. The notation developed and sticked because it made expressions easier to deal with.
- hnedeotes 5y agoThat's all fine and dandy when you're teaching maths to someone interested in pursuing or studying maths, if your point is to teach someone who hasn't yet made the connection between the abstractions and their meaning then you should use relatable things - and as their knowledge increases move to remove the familiar labels and show what is the underlying abstraction. I would think that by now that shouldn't even be up for discussion - much less for programming where your objectives, besides achieving a calculation or a side-effect, are also that your code be intelligible to other human beings. Even in assembly you have symbols for move, jump, etc. And no, different people have different ways of thinking, not everyone has the same combination of nature and nurture to be completely comfortable with pure abstract mathematical notation - and for most part they don't need to. When you assign fancy greek letters as symbols you're also labelling them, so why not label them with something that a person learning might recognise. Outside of teaching people that aren't familiar with it, yeah, sure, use all the numerical elegance you can muster (and I would still argue that even there it's still detrimental if the objective is sharing knowledge as widely as possible).
- username90 5y agoThat sounds good in theory, but in practice it is the other way around, the worst students needs purity the most. It is well known that word problems are much harder for students to read, learn and solve than pure problems. Only really good students do well on word problems, the students who are less good at abstractions do the worst at them. Or do people here really think that nobody has ever tried to make a math textbook with lengthier names and descriptions? It isn't used since it doesn't make things better, it makes them worse.
- Flex247A 5y agoAs someone who wasn't that good at math, I think the convention of x and y feels pretty abstract and arbitrary. Bad students have trouble connecting real world quantities to single letter variables. Lengthier and meaningful variable names will make the task slightly easier, as carSpeed is easier to reason about than x or y. Once students grasp the concept of a variable, the names can be switched. Just my 2 cents.
- andrei_says_ 5y agoTurns out I don’t really care about just numbers but am quite interested in applied math. School math was hell because my brain does not memorize useless uninteresting stuff.
- kewrkewm53 5y agoSame here. Solving completely artificial problems is boring.
- dqpb 5y agoI think teachers make the mistake of focusing on the end goal, for example: “thinking in abstract terms”. A student starts in some state and that state may not have a direct transition to “understanding abstraction”. A teacher needs to understand the state the student is in and find a sequence of transitions that lead to the desired state. It’s difficult for teachers to do this if their expertise is limited to knowing what the final state should look like, but not being familiar with (or having forgotten) the state space that leads there.
- deleted 5y ago[deleted]