What goes wrong in the SAGE notebook interface for secondary school usage

Some of (nice) sage features are not well adapted at an elementary level. In particular:


A bad solution for polynoms

The high school interface provides two basics functions for creating variables : the var (a symbolic variables for functions) and unknowns (exclusively for polynoms).

The version with unknown returns algebraic elements when asking for roots:

sage: unknown('X')
sage: P = X^2 - X - 1
sage: roots(P)
[(-0.618033988749895?, 1), (1.618033988749895?, 1)]

The version with var returns symbolic expression when asking for roots:

sage: var('x')
sage: P = x^2 - x - 1
sage: roots(P)
[(-1/2*sqrt(5) + 1/2, 1), (1/2*sqrt(5) + 1/2, 1)]


Following the development model of Sage, we will use mercurial patches here.

Program of high school in France

In bracket are the corresponding levels.

Object or not

The python list usage must be kept as it is. But we have the choice to use or not (explicitely) some methods.

Starting from a list:

python: l = [1,2,3]

We can use the standard append:

python: l.append(4)

or the += concatenation:

python: l += [4]


There is still a lot of problems:

HighSchoolDesign (last edited 2010-03-01 10:37:19 by robert.marik)