As originally conceived, this curriculum models a high school level introductory survey of several overlapping mathematics and computer science topics.
The subject Algorithms and Data Structures should stay wide open to interpretation as student needs evolve.
Would not most high schoolers benefit from having access to symbolic processing, of equations, of operations such as differentiating and integrating?
The focus of this Sandbox is sympy, used in tandem with plotting libraries.
Sympy is incorporated within SageMath.
import sympy
import math
# dir(sympy)
from sympy import (Symbol, symbols, Eq,
solve, evaluate, expand, N)
sympy.__version__
'1.10.1'
a, b = symbols(['a', 'b'])
identity = Eq((a+b)/a, a/b)
identity
solutions = solve(identity)
solutions
[{a: b*(1 - sqrt(5))/2}, {a: b*(1 + sqrt(5))/2}]
solutions[0][a]
solutions[1][a]
solutions[0][a].subs(b, 1)
solutions[1][a].subs(b, 1)
Testing the $_LaTex$: $$ \displaystyle \frac{1}{2} + \frac{\sqrt{5}}{2} $$
N(solutions[1][a].subs(b, 1), 100)
N?
Signature: N(x, n=15, **options) Docstring: Calls x.evalf(n, \*\*options). Explanations ============ Both .n() and N() are equivalent to .evalf(); use the one that you like better. See also the docstring of .evalf() for information on the options. Examples ======== >>> from sympy import Sum, oo, N >>> from sympy.abc import k >>> Sum(1/k**k, (k, 1, oo)) Sum(k**(-k), (k, 1, oo)) >>> N(_, 4) 1.291 File: ~/opt/anaconda3/envs/new_world/lib/python3.9/site-packages/sympy/core/evalf.py Type: function