To back up the parent, unfortunately, the audience is not always qualified to judge the quality of your work - for the simple reason that they have no idea what they are missing!
What they are missing from your explanation is "why". Your animation shows how to multiply two matrices, and anyone confused about the mechanics of doing that might find it helpful.
But the actual mechanics are not of much use if you don't know why they are this way. Everything in mathematics is made up by humans, so why would someone at some point write down this particular set of rules to apply to rectangular arrays of numbers?
To that end, I reaffirm the parent's opinion that your visualization only helps to confuse people, giving them a false sense of understanding. There is already too much emphasis in education on "how", and too little on "why"; the comments from the teachers you mentioned are downright scary to me.
Perhaps you will take this comment as yet another critique that is too harsh - but it must be done, so that others don't mistake your animation for an explanation of concepts behind the operation. When one understands the concepts, visual mnemonics - like the one you created - are not needed.
To start a productive discussion, however, (which, hopefully, might lead to you using your skills to come up with a version 2 of your work), I am very curious to hear your answers to these questions - which people confused about matrices might have:
1. What information is actually stored in a matrix? Why write down a bunch of numbers in a rectangle instead of, say, a list or a triangle (like Pascal's triangle)?
2. Why would one want to "multiply" two matrices? That is, why would one want to combine two matrices, and what information would the "product" matrix store?
3. Why do the rules for "multiplication" actually yield the result desired in (2)? Wouldn't some simpler rule do the same? For instance, if we have two 2x2 matrices, why not just multiply the numbers there elementwise (top left by top left, top right by top right, etc.)?
My claim is that anyone who can answer these questions wouldn't need your visualization - and, conversely, your visualization doesn't help answer these questions at all.
I'd be glad to be proven wrong, so I'm looking forward to your explanations of the three questions above.
I totally acknowledge that it is missing the "why", I knew that from the beginning. The widget I built simply answers the "how". It's a very focused tool, and this kind of tool may be very useful in itself. It's a tool to be used in the context of other tools, like books and courses. Your ordinary calculator never answers the why question. And if the audience, who includes both students and teachers, isn't qualified to judge the quality of the work, who exactly is?
On a side note, it's disgusting (I find that an appropriate word) how hackernews threads are so harsh and negative. You can do a fun exploration: search for historical threads announcing tools and services that were revolutionary (Angular.js or React.js, to name a few), and you'll find a plethora of negative comments. If hackernews discussions are good judges of quality, absolutely everything in this world sucks.
> And if the audience, who includes both students and teachers, isn't qualified to judge the quality of the work, who exactly is?
Again, it is very unfortunate, but on the average, high school teachers wouldn't be.
For starters, linear algebra (where multiplication belongs) simply isn't taught at high-school level. It is not in the standard math curriculum in any state. Bits and pieces of linear algebra, like teaching matrix multiplication alone, simply don't belong in the high school curriculum.
For that matter, too many high school instructors either don't have deep enough knowledge of linear algebra themselves, or if they do, they don't have enough experience or expertise in teaching this subject - simply because it is not a part of the curriculum.
To compound the problem, too often we don't teach math educators well enough. The math requirements for math teachers are often significantly lower than for math majors, and many don't get to see too many facets of mathematics.
To answer your question: matrix multiplication belongs in a university-level linear algebra course. Our system is so perverse that the version taught to non-math majors is missing most of the explanations, and even the math majors don't really learn the linear algebra until their second (or even third) year.
So here's my opinion:
The instructors qualified to judge linear algebra instructional materials would be people involved in teaching linear algebra courses at a college level - the professors, TA's, and people running help sessions in universities.
The students would be qualified to judge in retrospect, once they have themselves learned the material beyond the definition.
>On a side note, it's disgusting [...] how hackernews threads are so harsh and negative. [...] If hackernews discussions are good judges of quality [...] this world sucks.
Don't take HN threads as judges of quality - you have seen yourself that they are not. Yes, they are endless sources of critique, and some of the critique is valid and useful. Things people here talk about may succeed in spite of the flaws, but it doesn't mean they are flawless.
And it's great! This thread alone can give you many ideas on where to go from here if you like making educational props like this one - and how to improve what you have done. Treat this thread as a feature request, as a todo-list, as a bug report. You have just got yourself a small army of through beta-testers, who were kind enough to submit detailed reports (with links and examples!). Leverage that.
If you need praise: you are a talented programmer, who can create great visualizations that can help many people get a deeper understanding of things that you have mastered. And the critique is here because of this potential - because you really, really, really can do better.
>I totally acknowledge that it is missing the "why", I knew that from the beginning. The widget I built simply answers the "how".
"How" what?
How humans multiply matrices? Certainly not, I don't cut out one matrix and put it on top of the other. And, to be frank, if I need to multiply two matrices, I either use a computer algebra system (or code it up).
How computers multiply matrices? Software like MATLAB or BLAS would use more complicated algorithms which perform faster (Karatsuba, Strassen, whatever).
In the end, your tool is just a visual mnemonic for a definition. It's a SOHCAHTOA for matrices. And really do think we don't need more of that in education.
> Your ordinary calculator never answers the why question.
That's why there should be way more caution in using calculators in classrooms than is currently exercised. The current way of things is horrendous, but doesn't have to be. I have designed Calculus labs with MATLAB in which, I hope, the computer is not doing anything that the students could do by hand (given a lot of time). Done this way, calculators and computers become tools which aid understanding.
Anyway, regardless of what the motivation of others here was, here is where I'm coming from:
I've taught linear algebra help sessions where by the middle of the semester the students could multiply, row-reduce, invert matrices without having a clue what they are doing. They could put a bunch of vectors in a matrix and do - what to them was - some number magic to check for linear dependence.
I would draw them two arrows on the board pointing in different directions, and ask them a simple question - are these vectors linearly independent or not? They would be thoroughly lost.
That's the state of linear algebra education in the US. We are teaching people mechanical operations that computers do better.
There are better approaches! Linear Algebra Done Right (S. Axler), for example, is one of the few books that justifies the definition of matrix multiplication. Practical Linear Algebra does everything visually, and is suitable for beginners. But the first text is only taught to math majors, and the second one is not widely used.
In any case, I am highly opposed to teaching the mechanics an operation, because with a good understanding, people will come up with the mechanics themselves.
You are an example of this. Having an understanding of the operation allowed you to come up with a visualization. But the visualization, in my opinion, doesn't set one on a path to develop a similar understanding. And this is where your work can be improved.
Is this a perfect explanation? Maybe not, and it's not animated. But the author tries to pass on the way to get a better understanding, a new angle on how to understand the operations being done.
Would doing things like that with an animation be challenging? Certainly. But don't blame the audience for having a high expectation of what you can do.
I don't know how you think that school systems, especially in the west, place more emphasis on "how" than "why". Western schools most definitely place their emphasis on "understanding" rather than "doing". I think that all this does it create a false sense of understanding. Students think they understand why something is done, then when they go to do an actual problem they are totally lost.
I think this is a big reason why american students rate themselves as being very confident in their understanding, but performing rather poorly compared to other nations. I'll have to look for the citation to back that up.
>I don't know how you think that school systems, especially in the west, place more emphasis on "how" than "why".
I've taught people at college level, and have seen way too many cases of people knowing how to perform the steps to, say, solve an equation, find a derivative or take an integral without understanding what the operations actually mean, or why bother with all this stuff in the first place.
What they are missing from your explanation is "why". Your animation shows how to multiply two matrices, and anyone confused about the mechanics of doing that might find it helpful.
But the actual mechanics are not of much use if you don't know why they are this way. Everything in mathematics is made up by humans, so why would someone at some point write down this particular set of rules to apply to rectangular arrays of numbers?
To that end, I reaffirm the parent's opinion that your visualization only helps to confuse people, giving them a false sense of understanding. There is already too much emphasis in education on "how", and too little on "why"; the comments from the teachers you mentioned are downright scary to me.
Perhaps you will take this comment as yet another critique that is too harsh - but it must be done, so that others don't mistake your animation for an explanation of concepts behind the operation. When one understands the concepts, visual mnemonics - like the one you created - are not needed.
To start a productive discussion, however, (which, hopefully, might lead to you using your skills to come up with a version 2 of your work), I am very curious to hear your answers to these questions - which people confused about matrices might have:
1. What information is actually stored in a matrix? Why write down a bunch of numbers in a rectangle instead of, say, a list or a triangle (like Pascal's triangle)?
2. Why would one want to "multiply" two matrices? That is, why would one want to combine two matrices, and what information would the "product" matrix store?
3. Why do the rules for "multiplication" actually yield the result desired in (2)? Wouldn't some simpler rule do the same? For instance, if we have two 2x2 matrices, why not just multiply the numbers there elementwise (top left by top left, top right by top right, etc.)?
My claim is that anyone who can answer these questions wouldn't need your visualization - and, conversely, your visualization doesn't help answer these questions at all.
I'd be glad to be proven wrong, so I'm looking forward to your explanations of the three questions above.