gimagon
https://altair-viz.github.io/gallery/scatter_tooltips.html?h...
One simple way to add memory is to make states more complex. For example, instead of recording the weather each day as a state, you could record the weather for two day tuples. This allows more complex dynamics, but the number of states quickly increases.
Hierarchical Markov Models are another way to achieve this. In a HMM, there is a probability matrix for different types of weather (winter vs summer) and a probability matrix that governs transitions between each of these types.
[1] https://en.wikipedia.org/wiki/Hodgkin%E2%80%93Huxley_model
It seems to me there's a business strategy, where rather than pushing for more ads, a website pushes for lighter weight and promises its few advertisers a wider audience.
On the one hand, learning how to approximate functions with arbitrary precision definitely solidifies an understanding of what those functions are doing.
On the other hand high school math classes are often taught quite algorithmically. Therefore, rather than tests and problem sets, what if the student's chief deliverable was a small python package that performed the algorithms for that lesson? This has a really good advantage of teach basic life skills of turning a specification or intention into a physical product. It also does not significantly impair students that need a strong math background going forward. Finally, makes life a little easier for teachers because some of their grading work could be automated.
Now these two approaches could be applied independently, but I think they would work well together, particularly because the numerical approximation programs generalize a bit better than symbolic ones.