Hacker News new | past | comments | ask | show | jobs | submit login

> Without realizing it, he was doing algebra.

A friend of mine taught remedial math at UW to incoming freshmen. She would write:

    x + 2 = 5
on the blackboard and ask a student "what is the value of x?" The student would see the x, and immediately respond with x means algebra, algebra is hard, I cannot do algebra.

So she started writing:

    _ + 2 = 5
and ask the student to fill in the blank. "Oh, it's 3!"





The semantic meaning of a blank is much better understood to everyone than an arbitrary letter like 'x'.

People just want to know why it's x and not something else or how a letter can have value. They might even think how can 24 + 2 = 5? They just want something to grab onto and nobody is really teaching the concept of a symbol in a math class.


I will die on the hill that most of math would benefit from better naming, less short names and longer format. Yes, the crack math guys have no problems with terse symbols. But most people do. Good example is Greek letters for geometry. They are not really taught in school so an easy formula gets 'weird squiggly thing times another squiggly thing....' and that does not help understanding at all

This is like trying to change English or arguing that we should all speak Esperanto. Mathematical notation isn't the way it is to save ink or make it look difficult. It's that way because it works. Notation isn't set by committee, it's just a way of communication that works. If you read cutting edge research you'll find notations being invented all over the place. Most of them will never go anywhere, some will become standard in their field (like big-O) and others will become universally used (like dropping the multiplication symbol and using epsilon for a small number).

I think this is a very limited take for a hacker forum. We talk about how useful accurate names for variables are all the time, or generally how working to encode more natural/context-related semantics to code helps anyone reading it understand what the goal is better than an extremely terse symbology.

Yeah, lots of existing math texts will forever exist with greek alphabet soup, but we don't have to rely on those as our be-all-end-all teaching tools.

To operate at a high level in mathematics I would agree that having the skill of easily abstracting complex things into compact symbols is a necessary skill, just as I would agree to the same concept applied to software engineering or really any complex engineering system; by the same token, we don't have to START on hard mode with all of our students. Math is infamously difficult for some, largely (I think) because we make it unnecessarily opaque out of some misguided sense of traditionalism.

If we want to have lots of people who are good at math we should embrace whatever pedagogy is effective.


Math doesn't start on hard mode. Students spend years studying how numbers behave before doing symbolic math. That said, trying to cover the topics symbolic math does with a more verbose language would just make it into impossible mode. It'd be like trying to replace sheet music with words.

In fact the analogy to music notation is I think a fairly strong one. People's complaints always sound to me like asking why we don't write "C3 sixteenth note" for music instead of using dots and lines. After all, how are we meant to know what the dots mean and remember the difference between an eighth and sixteenth, or what flats/sharps do? And then the key signature can modify all of it!

The notation just isn't a barrier. Once you learn to read it, it's there because it's a clearer way to write the ideas. The hard part for people is they don't understand the ideas, and don't have the frameworks like key signatures, chord progressions, and meter to place them within. Longer words for variables won't help people understand e.g. inner and outer regular measures, or the open cover definition of compactness. That comes from a lot of work to understand what you're trying to say, the pitfalls of saying it wrong, and precisely how your slightly different way of saying it avoids those pitfalls (or selects the best set of pitfalls if you must pick some kind of degenerate behavior).


I hadn't thought of sheet music in this context before; that's a helpful counter-example, thanks.

Broadly I agree; the semantic density of domain-specific language is often required to operate well in that domain. I disagree some with the "Math doesn't start on hard mode," but I think that's just bikeshedding at some level.

The endemic "I just don't understand math" that my (American) peers have espoused, to me, points to a failure in our (American, public school) instruction practices around it.


Many programs are at a much higher level of abstraction than mathematics. If you are implementing domain logic then you should definitely use names from the domain. But when implementing an algorithm often the most meaningful name is a single character. I find it odd when people try to force the "no single character" rule everywhere.

But I've got to say, the short names are not the problem. If you rewrote F=ma as "force is equal to mass multiplied by acceleration" this wouldn't suddenly make it more accessible to swathes of the population. People who are good at maths anyway have no problem with this.


imagining that alpha is what stops people from being good at math is a useless take. why pretend that such a low bar could prevent anyone from understanding? its some fake generosity towards "newcomers" that is completely unwarranted. math notation is by and for professional mathematicians.

are you really saying that "let function(argument has type RealNumber) has type RealNumber be a function from a real number argument to a real number" is somehow superior to "let f(x) : R->R"


> why pretend that such a low bar could prevent anyone from understanding?

I don't know why this is a startling take. If you encode your ideas in an unfamilar symbology, of course that's going to make it more difficult for someone who isn't familiar with the space.

I'm not arguing that we should teach real analysis this way, or any other high level math class. I'm only contesting GP's comment that there is NO value to be had in using more familiar language to explain a new concept to an unfamiliar audience.

This is the entire reasoning behind "word problems" at the elementary level; they're meant to ground the abstract modeling of a math problem (193 - 3 * 12 = ?) into something more intuitive for a child to understand (If you start with 193 eggs, and you take three dozen away to bake a cake, how many are left?)

> are you really saying that "let function(argument has type RealNumber) has type RealNumber be a function from a real number argument to a real number" is somehow superior to "let f(x) : R->R"

No, I'm saying the there's tradeoffs on either side, and our educators ought to be aware of this.

> math notation is by and for professional mathematicians.

I agree, but we teach math to plenty of people who aren't professional mathematicians. I wouldn't want to do formal abstract algebra proofs in a more verbose form, I'm perfectly happy using the domain notation, but my friends from biological sciences who have to take a calculus course now have to learn both a new symbology alongside the problem domain. I've watched enough of my (clearly intelligent) biology friends slam face first into calculus and spin out. They're not dumb, they can do circles around me when it comes to chemistry, yet they Just Can't wrap their heads around calculus-style math, which leads me to wonder what the difference is between how we teach complex chemistry vs complex math. Questioning the pedagogy is a fairly logical extension of that.


If there was some better notation that allowed biology people to understand calculus more easily, what do you imagine they'd do with it?

It's hard for me to imagine it without any special notation. It makes me think of the general relativity in words of four characters or less that was posted recently. Sure, it might be possible, but does it really make it easier to understand? Understanding is normally built up in layers. We learn things using big words because that makes it easier than learning with small words. And we learn maths with funny symbols because it makes it easier than learning it with words (or colours or mime or other things you already know).


For any given problem, you usually know what it is your studying, so writing out names doesn't have much benefit. On the other hand, a more visual language (which is what mathematical writing is) lets you easily look at specific portions of the picture and read off how it behaves, which is very useful. Basically, getting hung up on names means you're reading it wrong.

I don’t recall the exact age, but when I was doing math in primary school (somewhere around age 9/10) we were absolutely using symbols - “Paul has two apples, and the basket can hold 10 apples. How many more apples can Paul put in the basket” is the same as 2 + x = 10

We did these sorts of problems for a long time, with addition/multiplication/fractions, and even when we started doing actual algebra the problems were introduced the same way “let’s look at a problem we’ve solved already, and write it in a different way”.


This becomes even more true in higher level maths where programming language style functions would make everything vastly more clear, and easily typeable, than the traditional Greek symbols. sum(x+3, 1, 4) is just so much more clear (and consistent when generalized across other operations) and practically as concise as the mathematical way of expressing that which I cannot even type. Multiple variables would be a bit dirtier, but still much cleaner than the formal expression.

Interestingly mathematical symbols in the past also regularly evolved. Then at some point we just stopped doing that and get stuck in a time which is arguably no longer especially appropriate. So we're left with rather inconsistent symbols, oft reused in different contexts, and optimized for written communication.


The formal language of math is intensely optimized for rapidly communicating with yourself 90 seconds in the future, when doing a proof or calculation, turning paper into working memory. It does seem silly to use the same language for communicating with others across unkniwn but deep chasms of context. Its remarkable that it works at all

The strangest part about mathematics culture is that there is a culture of vibing the notation.

Nobody in school ever tells you that there are glossaries on Wikipedia that tell you the meaning of the symbols. You're supposed to figure it out yourself using vibes.

The way mathematic notation is taught is inherently unstructured. You're expected to just get it.


For the purposes of education, it is important to keep in mind that "optimized for performance of a highly trained person" and "optimized for understanding of a complete beginner" are two different things.

I often see people make the mistake of trying to teach inappropriately abstract things to small children, because that's what the pros do, and we want the little kids become pros as soon as possible. Problem is, trying to skip the fundamentals is only harmful in long term.

First kids need to learn what all that stuff means, and then we can proceed to teach them the shortcuts.


its silly. itd be like introducing first year programming students to advanced maps/filters/anonymous function syntax, instead of the easier to understand for loops and if/else statements. math's "no true scottsman" approach to teaching only hurts itself in the long run.

I'm not sure if it would be easier to explain a map / filter to a first year student vs implementing the patten manually using a for loop and if statement...

Seems like a pretty easy example to make practically, for map have a collection of things, say balls or black. Pick up each one and do a thing to them, paint them blue for example.

For filter do the same except have two different colour balls, if they are yellow they get thrown away, of they are blue they get put in a bucket.

A for loop doing exactly the same you would need to explain the topic at hand, as well as explain iterating an index etc...


Explaining loops is independent of the concepts of collections though. It's also more general, since map/filter/reduce use some kind of loops under the hood anyway, the fact that probably shouldn't be ignored in education process. Unless of course you go with pure functional recursive iterator, but good luck explaining that one.

Maps and filters also require understanding of higher order functions and the very idea of passing function around as a value. I would argue that implementing map/filter with a loop and then demonstrating how this pattern is generalized as .map()/.filter() functions is better and more accessible


My first thought when I read sum(x+3, 1, 4) was x+3+1+4.

Also it should be sum(x+3, x, 1, 4) since you need to encode what the iterator variable is as well.


I thought that was it too, but you're saying it's not..? I've been thinking about it for a few minutes now and I still can't figure out what other meaning it could have.

Edit: Oh wait, someone else mentions map/filter, did they mean this as a combination of range->map->sum and the latter two numbers are the range portion, like sum(map(x+3, 1..4)) ?

Edit2: And now I'm remembering sigma. I think it would have been more obvious to me if the order was flipped and your issue handled the way it is in that notation: sum(x=1, 4, x+3), though I'd still prefer the range notation: sum(x=1..4, x+3)


Yep. I agree and now we've basically reinvented sigma. Take the x=1 and put it below, take the 4 and put it above take the x+3 and put it to the right.

Granted I always found sigma a bit quirky for separating the range ends like that. Either x below and 1..4 above, or x=1..4 below/above would have been more intuitive.

But it's just a notation you learn once and then you know it.


Thanks for this comment. My secret shame as a programmer is that I haven't really learnt much maths, stopped at 16 in school. Writing out the sum function like you did makes perfect sense to me immediately.

What I should really do is create myself a cheat sheet of symbols to code...



Thanks for this :)

It's hard to debate that mathematical notation has a lot of room for improvement. High level algebra is very cryptic and often looks like an arcane incantation rather than something comprehensible for an unknowing person.

That said, as a person who moderately enjoyed math in high school and university, this functional notation would make me hate math infinitely more. It's would look like Lisp, which, at high level, looks just as cryptic as algebra. The sheer amount of braces and mistakes that would be made when reading and writing them is nauseating.

Infix notation, for all its flaws, provides important visual aid for understanding the structure of the expression (the sum of two fractions looks very different from fraction of two sums for example). Whereas with functional notation it's like working on linear textual representation of abstract syntax tree. Trust me, nobody wants to read, write or transform one by hand


Might I introduce you to our lord and saviour APL? Infix notation and was originally created to be exactly that, a better math notation.

https://aplwiki.com/wiki/Comparison_with_traditional_mathema...


APL »» Linear A (Well almost!)

;-)


The notation as it is works very well. It looks unfamiliar to you because you aren't familiar with it.

> People just want to know why it's x and not something else or how a letter can have value.

The way I was taught it and the way that worked now for my now 3 year old is just to say pirates buried a number under the X, and that we need to guess what they buried. If the concept of a number being hidden is a barrier to understanding for anyone they have seriously bad teachers.


> nobody is really teaching the concept of a symbol in a math class.

This was what? 5th grade?

What kind of crap teachers never taught that


> What kind of crap teachers never taught that

It's rarely the fault of the teachers.

The problem is, in many MANY MANY schools, teachers are more like social workers that have to compensate for utter horrifics outside of school. You got a ton of children so poor they didn't have breakfast which means their first (and all too often: only) meal will be the school-provided lunch (Covid showed that - a bunch of schools were open at least for lunches). You got children that are literally homeless and living with their parents in some car on a Walmart parking lot. You got children whose parents are in and out of jail. You got children living with their siblings in way too small, pest and mold ridden "apartments". You got children whose parents don't have money to pay for basic school supplies. You got children who are dealing with mental, physical and sexual abuse. You got children where the parents are constantly on drugs or seeking for drugs. You got children with a drug dependency on their own - if they're lucky it's just tobacco or weed, if not it's opioids. You got children with parents or siblings with serious mental or physical health issues. Or you got children with their own mental and physical health issues, or if you want it worse, children with these issues but without access to any kind of treatment. You got children that are being weaponized in nasty divorces. You got children that are being weaponized by street gangs. You got children committing crimes from petty theft to dealing drugs just to survive. You got children that have to literally work (and states like FL pushing to have more working children). You got children having their own children already (either from sexual abuse, from under-education about their own bodies, or intentionally because they fell for some stupid challenge/dare). You got children dealing with bullying, you got some who actually are bullies because they have no other way of dealing with their emotions or getting lunch money. You got children with parents with about zero interest in them. You got children who worry that they'll come home and find out their parents got snatched and disappeared by ICE. You got children who worry that ICE will storm their classroom and deport them. You got children who worry they might not survive the school day because someone will shoot at them. You got children who are constantly on the move because their parents' employment/deployment requires absolute mobility. You got children who are LGBT and have to deal with ever increasing hate against them (and LGBT youth already had significantly higher suicide rates than before the GQP made it a culture war issue).

The US doesn't have any kind of system to help these children but schools and libraries, both are horribly underfunded (there's some school districts where teachers gotta take up second jobs because the government can only afford paying them for 4 days a week), and all too often teachers have to pay with their own money for students' school supplies.

And on top of dealing with these kind of nightmares, they actually have to try and teach these children something - even if the children in question aren't anywhere near a headspace where they can actually learn.


I taught at a nice middle-class school, so most of the problems you mention were not relevant there. And yet, it seemed like half of the kids' families were either recently divorced or in the process of divorce. I couldn't really blame those kids for not paying attention to school. And this seemed like the best case, so probably at most places it gets much worse.

Education has a problem with scaling, especially at the elementary level. Sometimes people figure out a nice solution, but when you tell them "great, and now do this in every village" the problem becomes obvious. But there are kids in that village, too, and you want them to know reading and math and hopefully also something more.


> Education has a problem with scaling, especially at the elementary level.

Not if you actually provide the money. Europe gets this down decently well - although I'll admit, in rural areas in Germany we got some serious consolidation issues thanks to urban flight.

But at least our teachers are well paid government jobs and the job is decently attractive.


There's plenty of money thrown at schools in the US, but the issue is that the students that live in poor socioeconomic conditions tend to not do well. The "simple answer" that addresses the root cause would make individuals not subject to poverty and whatnot. But throwing money at institutions is already on the ropes in the US, let alone throwing money at the "undeserving".

(Yes, this is a political opinion. No, do not blame me for that. Politics does not come wrapped up neatly with a bow tie in a box. If you want to debate the veracity of my claim, go do that instead.)


> If you want to debate the veracity of my claim, go do that instead.

I'd do no such thing because you are completely correct - the only thing I'd add is that poverty, while being very dominant, isn't the only issue that desperately needs to be fixed.


Scaling is not just about money. It's also about teachers. You can have hundreds of great teachers, but if the entire educational system requires tens of thousands of teachers, you will end up with many mediocre ones, because you simply don't have tens of thousands of great ones.

One answer: sometimes you need a name, especially because there’s more than one of them. Suppose you’re looking for one digit numbers like this:

    10•_ + _ = 73
Now try saying the answer: “7 and 3”. This gets vague quite quickly —- which blank is 7 and which is 3?

Reminds me of how the Σ symbol in math is just a for-loop.

thank Descartes

I thank, therefore I am...

I’ve always found that an indictment of math education — and spent many, many hours discussing it.

When teaching addition, workbooks commonly use a box, eg, “[ ] + 2 = 5” — and first graders have no conceptual problem with this. Somehow, we lose people by the time we’re trying to formalize the same concept in algebra. There’s been many times I’ve written a box around letters in a problem and asked students “what’s in the box labeled x?”

Pedagogy is hard.


Go from "[ ] + 2 = 5" to writing it "box + 2 = 5--what is box?". Then "b + 2 = 5--what is b?" then "x + 2 = 5--what is x?".

I agree. I think the actual problem is that the student is trying to comprehend what it means for anything to have mathematical value other than explicit numbers.

Numbers and letters are taught together, but not as symbols. Letters are taught with sounds and numbers are taught with counting. The notion of a symbol isn't really emphasized much.

I would explain it more like after

[ ] + 2 = 5

what happens if you need more than one box for a complicated problem? Teach the idea that saying box #3 is equivalent to assigning an arbitrary letter for whatever reason you want, but that people more familiar with math prefer letters because they stand in for words that describe what the number is for. You might want to use 'c' for the number of cats you're trying to figure out.

In a room of five animals two are dogs. How many cats?

a = 5, c = ?, d = 2

a = c + d

so... 5 = c + 2

what is c?

Light bulb goes off: "You can do that?" Yes, you can do whatever you want and it's not all about carrying the one or whatever other rote teaching they've been given. They can get creative and be engaged, and then you let them know that actually there are some conventions people like to use for what they're trying to do. They might even believe they've invented a new idea. At least they're having fun.


I agree with you.

To me, a lot of pre-college math education could be summarized as "In this class I will show you a bunch of abstract problems, a bunch of ways to solve them, and I will test if you have learned them." Learning in these classes is often limited to memorizing a sequence of steps.

That's why I would frequently ask "You can do that?" myself when talking to those whom I considered mathematically gifted (math olympiad winners and such). I think they realized that as a problem-solving tool math could be used creatively. I saw it as a largely useless hammer that to work had to be held in a very specific way.

I remember connecting sets in, I think, Pascal to what I had learned in school and realizing that all that math was perhaps not as useless as I had thought : - )


You skipped a step. One of the problems is more obvious with a different operator we learn when in the "box" stage:

> Go from "[ ] x 2 = 10" to writing it "box x 2 = 10--what is box?". Then "b x 2 = 10--what is b?" then "x x 2 = 10--what is x?".

From memory, we didn't switch from "x" to dot for multiplication until at the exact same time we started using symbols. If we'd done it earlier (or even right from the start) it might not have been as much of a problem.


Basically, don't teach the new concept and the new syntax both at the same time. New things should be introduced one by one.

That is what math books already do.

Some of them do it better than others.

back when we was new in programming it was similarly difficult to grok

X = X + 1

once we got it, it was a like new world!


most likely this very unfortunate misnomer started with fortran, where it was deemed lucrative to point out "how much programs look like mathematic formulas!".

not only is this overloading a symbol (equality) with a completely different meaning (assignment), it is also a poor choice typographically, as it represents a directional operation with a directionless symbol.

using an arrow for assignment is much better.

it's also worth pointing out that unlike most others, logic programming languages (e.g. prolog) have actual variables, not references to mutable or immutable memory cells.


arrow for assignment is cool, but the backspace key is the only closest arrow-like key on the keyboard but it has a different purpose. plus the arrow key should be laid out such that u dont have to press a SHIFT/CTRL/ALT to produce it.

for this reason, i felt C a breath of fresh air cos u could just assign using = instead of what we was doing in pascal which was the horrible := where u had to press SHIFT for the :

things like this matter.


Right. If we went more in the direction of APL, we would have had way more symbols.

https://upload.wikimedia.org/wikipedia/commons/9/94/APL-keyb...


There is a game called dragonbox algebra which I'm currently working through with my son and is an absolutely fantastic approach to this problem. Sadly its now part of a horrendous subscription service and is hard to access. I find it really sad that we've had computers for decades and there are so few good maths games like this.

As a senior in high school, I devoured this game in elementary school and got way better at math than my peers. Now taking differential equations and multivariable calculus through our college in the high school (CHS) program. When I looked for it out of curiosity I was sad to see it transformed into a subscription service.

My kids all lived dragonbox games; the algebra and geometry one

edit: loved*

As we are sharing anecdotes:

One of my school math teacher had the same approach in another way: We were expected to use greek letters, not latin ones.

Same reasoning: It showed us kiddos that the letter was insignificant compared to the concept expressed by the letter.

So my take would be: Your friend taught the students for the first time what they were actually doing while handling equations with "a letter in it". That is no problem of algebra in itself. It just means their previous teachers sucked.


I saw a textbook that used a picture of a box in the equation. The number is hidden in the box, and you are supposed to figure out which number it is.

I got my daughter (just turned 6) this little hand held math game for her birthday: https://www.amazon.com/your-orders/pop?ref=ppx_yo2dv_mob_b_p...

She loves it. It uses a ‘?’ for basic algebra style problems and after a few days of playing (if/when she wants to, we don’t make her play it), she was already much better and faster at those problems. It made me think that schools should be giving kids games like these.


Is this the game? You linked to your order history.

https://www.amazon.com/Educational-Insights-Math-Electronic-...


Oops, yes that’s the one.

There are two sides to this. The system or method might be bad but also a determined person can go all the way and perform at a decent level if they put in enough time.

Even if the system was better the person still has to be able to motivate themselves and put in the time.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: