That’s an interesting notion.
For you, is it when it’s presented like: sum = sum([1,2,3]), or when it’s dropping in and explaining how the sum function is implemented?
I think there’s definitely something there in either case, but teaching math through “how you would implement it in code” seems really interesting. You could start really basic, and then as you get to more complicated math, you keep using the tools you built before. When you get to those “big idea” moments, you could go back to your old functions and modify them to work in the new use case while still supporting the old. Like showing how multiplication() needs to change to support complex numbers without making anything else different.
but teaching math through “how you would implement it in code” seems really interesting.
This is near exactly how I handled learning advanced mathematics back in the late 80s and early 90s. This method takes the abstract and makes it practical, which is what many people really need in order to effectively learn.
I know this is just a simple example but sum() doesn’t teach you about the concept of sums. It would have to be something like:
def sum_up(my_list):
result = 0
for item in my_list:
result = result + item
return result
Then you could run that through a debugger and see how the variables change at every step. That way you can develop an understanding of what’s going on there.
That’s an interesting notion.
For you, is it when it’s presented like:
sum = sum([1,2,3])
, or when it’s dropping in and explaining how the sum function is implemented?I think there’s definitely something there in either case, but teaching math through “how you would implement it in code” seems really interesting. You could start really basic, and then as you get to more complicated math, you keep using the tools you built before. When you get to those “big idea” moments, you could go back to your old functions and modify them to work in the new use case while still supporting the old. Like showing how
multiplication()
needs to change to support complex numbers without making anything else different.This is near exactly how I handled learning advanced mathematics back in the late 80s and early 90s. This method takes the abstract and makes it practical, which is what many people really need in order to effectively learn.
I know this is just a simple example but sum() doesn’t teach you about the concept of sums. It would have to be something like:
Then you could run that through a debugger and see how the variables change at every step. That way you can develop an understanding of what’s going on there.
Yeah, thinking about it a bit more, I could have asked it as:
Is it seeing how it’s used with plain, more spelled out names that helps, or is it seeing how it works “under the hood” that makes it more clear?
Your answer clarifies things for me though, and I agree that that would be a really nice book/program/learning thing. :)