Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2009-11-04 23:00:53
Size: 3692
Comment:
Revision 8 as of 2017-02-05 01:06:38
Size: 0
Editor: mrennekamp
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== 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:
   * the oriented object syntax must be avoided: a student who see for the first time functions and derivation won't be able to understand f.derive(). The interface must be intuitive from the mathematic *standard* syntax point of vue;
   * the algebra under polynoms must be hided. QQbar, Number fields must stay in backend;
   * the namespace is huge (a general problem of SAGE)
   * the help on elementary functions is not well adapted

Supplementary:
   * do a french translation of commmands (?)
   * write some help files


== program of secondary school in France ==

In bracket are the corresponding levels.

   * second degree polynom [1e S]
   * sequences in particular recursive ones [1e S]
   * sequences and approximations : pi, e, sqrt(2), ... [1e S]
   * continuity and derivation [Tale S]
   * functions study and graphics [Ta1e S]
   * integration[Tale S]
   * elementary graph theory [Tale ES]

== Lycee interface ==

The sage lycee interface will be based on sage-4.2 (latest version on the 31rd of October). There is a running notebook server at : https://139.124.6.88:8001 and the corresponding applied patch is at: http://iml.univ-mrs.fr/~delecroi/lycee-vd.patch

For a quick overview:
   * demo file for polynoms at https://139.124.6.88:8001/home/pub/0 (in french) or at https://139.124.6.88:8001/home/pub/2/ (in english)

What will be available at initialization :

Variables and numbers
   * t,x,y,z : are variables (in fact element of polynomial ring over QQ)
   * var : use it to create new variables. var('t1,t2,t3') will create three variables in the global namespace.
   * i, I : the well known complex number
   * e, pi : well known real numbers

Rings and fields:
   * ZZ, QQ, RR, CC : the integers, rationals, reals and complex (there are also more complicated Zmod, Zp, Qp, RDF, CDF, ...)
   * real_part, imag_part : real and imaginary part of a complex

Functions:
   * cos, sin, tan, arcos, ... : trigo
   * cosh, sinh, arctanh, ... : hyperbolic trigo
   * sqrt : the square root function
   * log, exp : logarithm in any base and exponential

Dealing with polynoms:
   * roots : compute the roots of a polynom (just a messy "def roots(p): return p.roots")
   * derivative, integerate : compute the derivative and primitive
   * factor : performs a factorization

Geometry:
   * plot : plot functions or anyobject
   * point, points, point2d : plot points
   * line2d : lines
   * text : some text (could have some latex expression between two '$')
   * show : show a graphic object

Arithmetic:
   * is_prime, gcd, lcm : standard arithmetic functions
   * factor
   * % : the modulo operator (rest of the euclidean division)
   * Zmod(n) : the ring of integers modulo n

== TODO ==

There is still a lot of problems:
   * clearing the namespace causes some crashes (there are some general memory initialization). I make research to do it properly. For now, I use a "do it, if it works it's good" method.
   * sqrt(n) (log(n), exp(n), ...) returns a symbolic expression which does not evaluate correctly as boolean expression.
   * help topics in the rest documentation
   * latex rendering in plot is not easy to have : {{{sage: text("$" + latex(my_object) + "$", (0,0))}}}. Is there a better way ?
   * latex "bug" for rational fractions : http://groups.google.com/group/sage-devel/browse_thread/thread/9d58693356e11947 and the corresponding (minor) trac ticket http://trac.sagemath.org/sage_trac/ticket/7363