Not nice.
Not nice.
If your kid proudly brings home a drawing, you are most probably going to greet him with warm encouragements no matter the quality of the art. The kid is in a process of developing his creative sense, learning, and forming his/her sense of reality. Comparing the drawing to what mature artists produce would certainly have a negative effect on the kid. The point is to provide a feedback relevant to the recipient of the critic.
The same goes here with this animation. I respect your work but obviously disagree with the usefulness of it. You made an animation to explain the matrix product, which is a really good idea. Alas, I think the realization of it gives a confused picture of what it is. I doubt that a student with no prior understanding of matrix products will get much enlightment. Too many operations are going on at the same time. This means that it misses its intended audience: students in need of building an intuitive understanding of the matrix product. That's what all those javascript (among others) animations (ex: http://jackschaedler.github.io/circles-sines-signals/dft_int...) are all about: make it simpler to grasp a concept. Unfortunately, though beautiful, the animation is not clear. At best it provides a visual mnemonic for multiplying matrices which maybe useful for some but not for the younger version of me in need of understanding :)
I realize that instead of providing such a harsh critic, I would have been better inspired to suggest improvements. Mea culpa :)
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.
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.
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.
For instance, take this: https://betterexplained.com/articles/matrix-multiplication/ https://betterexplained.com/articles/linear-algebra-guide/
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 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.
Just my 2cents.
edit: http://www.newgeography.com/content/003840-high-confidence-n...
there were other more recent surveys on this topic, this is all i can find right now
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.
It's not the students' fault; the concerns I am trying to voice have been articulated by many over the recent years, and are best summed up here: https://www.maa.org/external_archive/devlin/LockhartsLament....
100% agree. It reminds me of the "yes, and" rather than "yes, but" thing from improv and stuff like that.
If what you've done helps a single person (and it did me), then it is valid. It might not be perfect, and it might not be right for everyone, but it was useful and worth putting the effort into (and this was. Thank you for it).