6 ms·
> The whole point is you start with context specific examples, and high level naming Every school already does that. For the first years math is almost only qu
by username90 5y ago
> The whole point is you start with context specific examples, and high level naming
Every school already does that. For the first years math is almost only questions like: "You have 5 apples and you get 3 more Apples from Emmy, how many Apples do you have?", with associated pictures.
Then after many years of using apples and then learning numbers you start to show them that you can have variables like X and Y. Then when they already understand how variables work there are no issues using them. If they still have problems it is because they never properly understood variables, which is strange since we already spent like 10 years teaching math up to variables. You might argue that 10 years isn't enough time to learn variables, but many kids learn them way faster than that and we can't slow them down even further just so a few more kids don't feel left out.
- adam_arthur 5y agoProviding well named variables isn't slower. It's not faster to code using one letter variable names, for obvious reasons. Because you're bounded by time to understand and make decisions, and not by how long it takes to press a few keys. I don't advocate teaching more slowly, but teaching more effectively. Teaching "top down" is more effective, and not widely used, from what I've seen. In your example you describe a multi-year period where basic examples are given in early childhood, and then made more generic over time. That's similar to what I'm describing, but not really the same. I'm describing the same methodology but done repeatedly with any new domain being learned. When you learn a new concept in computer vision, this methodology can still apply. Sure, you can throw the formula to do some image transformation at somebody and have them go at it. But showing it being used, explaining the logic behind it in natural language and so forth will convey the idea much more effectively. The "bad" math education that turns so many people off tends to be more of a "bottom up" approach, solve 10 generic and meaningless problems using this formula.
- username90 5y agoThere is no reason to repeat the process, after the first 10 years they already have enough examples of what X and Y can be that you don't need to do it for them, they already do it for themselves. If they don't then they haven't properly understood variables.
- adam_arthur 5y agoYet I run into comp sci textbooks that use useless variable names for what are actually meaningful values all the time! The first thing I do, and recommend anyone do, when learning new algorithms is to immediately convert the one letter var gibberish into a real program with proper variable names. Suddenly what looked like a huge, meaningless expression becomes so easy to understand! The lack of focus on readability is rampant through math and math adjacent fields. Example: Another commenter mentioned the Cook-Terrance Reflectance Model. When I google this, I get a large expression with one letter variables. So I'm supposed to store in active memory which letter maps to which real world concept? There's a reason one letter variables is considered a terrible coding practice. Why rely on human memory caching, when you can actually be descriptive?
- username90 5y agoComputer science mostly isn't math though. A small subset of it can be called math, but most stuff are just applications of math. If we are talking about teaching applications of math then the answer is very different.
- hdctambien 5y ago> solve 10 generic and meaningless problems using this formula I used to think this too, even when I started teaching. But I think if you look at a (modern?) textbook you'll see that those problems are not actually generic. They are often designed problems that are trying to help you gain insights as you solve them. Each problem is probably demonstrating a different interesting pattern, if you are looking for that. Admittedly, students are not taught what to look for in those problems and if the text book as "answers to odd problems" in the back of the book, then there are probably 2x the number of problems necessary. I teach HS Computer Science and I have to teach about division with ints and doubles. It would be nice if I could just explain the rules and give 2 or 3 examples and be done with it... but it turns out I have to have them work through lots of "generic and meaningless problems" 10 / 5 5 / 10 10 / 10 10 / 3 3 / 10 10 / 5.0 10.0 / 5 10.0 / 5.0 10 / 3.0 10.0 / 3 10.0 / 3.0 10 / 10.0 10.0 / 10 10.0 / 10.0 Each of those problems demonstrates a different "edge case". Towards the end there are some repetitive ideas I could leave off (once they know that double/int, int/double, double/double all evaluate to a double it may be overkill to keep repeating those patterns, but...) If I don't have them work through each of those problems, it is likely that at least one student will pick up the wrong pattern and run into problems in their labs when they encounter those patterns. That being said, I think the biggest problem with math education (in the US) is that many Elementary teachers would probably rank their Mathematics skill as one of their lowest skills. I personally know an elementary school teacher (with a master's degree) that took her last Math class her Junior year in high school. I met her in her college Math credit course which was a Computer Science survey course where we listened to talks by researchers and wrote 1 page papers about what they were researching.. I know she's a great teacher, but she just doesn't have the math background to teach more than "these are the steps to do math, follow them to get the answer."
- dorchadas 5y ago> That being said, I think the biggest problem with math education (in the US) is that many Elementary teachers would probably rank their Mathematics skill as one of their lowest skills. Absolutely yes. I'm a secondary level math/physics teacher, and I've come to the conclusion that the problem truly stems from elementary level teachers who don't understand the math and just teach rote steps. Then, when things diverge from those rote steps (usually around fractions, negatives and variables, from what I've seen), that's where you really start to lose students. The teachers themselves have no underlying grasp of the material and what it actually means, so of course they can't really impart that to the student (especially multiplying/dividing fractions and doing operations with negatives). Then it just compounds in middle school and by the time they get to high school it's a huge mess.
- threatofrain 5y agoI'm not sure it makes sense to compare math presentation to software. Unlike a math textbook, you don't show how combinations of symbols are manipulated over time in a codebase as part of a coherent narrative that builds toward a math conclusion. You also don't generally try to teach something new in the code itself, as opposed to in a team wiki or cited reference.