SageIDE as an education-oriented GUI for Sage

108 views
Skip to first unread message

Ted Kosan

unread,
Oct 6, 2009, 1:15:07 PM10/6/09
to sage...@googlegroups.com
A couple of years ago when I was active in the Sage project, I began
work on an education-oriented GUI for Sage which I called SageIDE.
SageIDE (which I renamed MathRider) has now reached the point where it
is capable of being interfaced to Sage and my thought is that some
people on this list may be interested in experimenting with it.

SageIDE/MathRider can be found at this website:

http://mathrider.org


This website also contains a book called "Introduction to Programming
with MathRider and MathPiper" which is what my book "Sage for Newbies"
evolved into. "Sage for Newbies" was started as an experiment to
discover a good way to teach beginners how to program using a computer
algebra system and "Introduction to Programming with MathRider and
MathPiper " has achieved the goal I was shooting for. My thought is
that someone on this list may be interested in updating the "Sage for
Newbies" book with material from this newer book.

Ted Kosan

prathap

unread,
Oct 12, 2009, 11:14:04 PM10/12/09
to sage-edu
Hi Ted,

It is admirable what you are trying to do with mathrider. I am 100%
with you that this can have a phenomenal influence on math education
in middle/high school and college levels. I would like to start
digging into this thing. In the link you provided, there is really not
much info at all about the project as far as what components it
contains, or even the intro to programming with mathrider book you
have mentioned. Correct me if I am wrong but I think just yesterday
there were tabs on the link you sent that pointed to such
documentation and info. Maybe I am hallucinating :-)

Anyways, I think it would be good to set up a proper page with clear
info about the project. Personally I would like to see how such a
mathematical software can be exposed through the web where geometry,
algebra and calculus up to the college level can be done.

Thanks,

Prathap

Ted Kosan

unread,
Oct 13, 2009, 12:52:37 AM10/13/09
to sage...@googlegroups.com
Prathap wrote:

> I would like to start
> digging into this thing. In the link you provided, there is really not
> much info at all about the project as far as what components it
> contains, or even the intro to programming with mathrider book you
> have mentioned. Correct me if I am wrong but I think just yesterday
> there were tabs on the link you sent that pointed to such
> documentation and info. Maybe I am hallucinating :-)

Unfortunately, the java.net website suffered a denial of service
attack recently. They are in the process of upgrading the site and
this is causing some parts of the project web pages to not be shown.

I attached the "Introduction to Programming with MathRider and
MathPiper" book to this email.

MathRider contains a computer algebra system called MathPiper.
MathPiper is a fork I made of a computer algebra system called Yacas
and MathPiper can be found in a file called
mathrider/jars/mathpiper.jar in the MathRider distribution. If you
open a command line and execute the mathpiper.jar file using the
following command:

java -jar mathpiper.jar

A GUI console will be launched which will give full access to MathPiper.

MathPiper can run as an applet in a web browser and it also has an API
which can be used to access it from Java code.

Are you a Java programmer?

> Anyways, I think it would be good to set up a proper page with clear
> info about the project. Personally I would like to see how such a
> mathematical software can be exposed through the web where geometry,
> algebra and calculus up to the college level can be done.

The MathRider project has mostly been in stealth mode for the year and
a half we have been working on it and our goal is to have our initial
release sometime this December.

Our plan has been to create the project documentation in two phases.
Phase I is to create beginner-level documentation and this is what is
contained in the "Introduction to Programming with MathRider and
MathPiper" book and a second book I am writing called "Exploring STEM
with MathRider". Phase I will be finished this December and then
Phase II of the documentation will start which will consist of
developer-level documentation. The developer-level documentation will
contain all the details of the MathRider and MathPiper
implementations. Part of Phase II will also include adding more
information on project's website.

If you would like to have this developer-level information sooner,
feel free to subscribe to the mathrider-dev email list
(http://groups.google.com/group/mathrider-dev) and begin asking
questions :-)

Ted

introduction_to_programming_with_mathrider_and_mathpiper_v.93u.pdf

kcrisman

unread,
Oct 13, 2009, 9:32:35 AM10/13/09
to sage-edu

> MathPiper " has achieved the goal I was shooting for.  My thought is
> that someone on this list may be interested in updating the "Sage for
> Newbies" book with material from this newer book.
>

Hi Ted,

I don't know if anyone who has the expertise in programming (not me!)
might have the time for this, but Harald (listening?) might be able to
add a link off the place in the website where Sage for Newbies is to
let people know there is a more mature version of the text there.
Good luck with MathRider - it seems like it might fill the niche
between Geogebra and Sage in terms of user base, which (in my opinion)
is a little underpopulated, at least by non-expensive projects.

- kcrisman

Offray Vladimir Luna Cárdenas

unread,
Oct 21, 2009, 6:54:33 AM10/21/09
to sage...@googlegroups.com
Hi,

Ted Kosan escribió:

Seems a pretty interesting program. As kcrisman says it can fill the gap
between geogebra and Sage. I think that working in that unfilled spaces
is important from and educative perspective. In fact there was a Sage
variant called SPD (Source Python Distribution) that start small and
could (theoretically) grow up to (normal) Sage. The bridge that you
create between Geogebra or Yacas and Sage with this project and the
concern with interface and education is something worth. I will show
this project to my students.

Now some questions:

* I saw that you create mathpiper as a fork of yacas. Could you say me
more about this (yacas was one of my favorite CAS before Sage and still
has a "place in my heart" because of his philosophy, size and language
syntax sugar).
* Do you say that mathpiper can run as an applet in a web browser. Have
you seen 280slides.com? Do you think that is possible to build a web
interface for Mathrider in a similar fashion?
* Java is everywhere. How feasible is to give python support in
Mathrider using jython?

Thanks a lot,

Offray

[1] http://code.google.com/p/spdproject/

Ted Kosan

unread,
Oct 21, 2009, 11:12:12 PM10/21/09
to sage...@googlegroups.com
Offray wrote:

> Seems a pretty interesting program. As kcrisman says it can fill the gap
> between geogebra and Sage. I think that working in that unfilled spaces
> is important from and educative perspective. In fact there was a Sage
> variant called SPD (Source Python Distribution) that start small and
> could (theoretically) grow up to (normal) Sage. The bridge that you
> create between Geogebra or Yacas and Sage with this project and the
> concern with interface and education is something worth. I will show
> this project to my students.

I also think that a good way to significantly increase the size of the
Sage user base is to start beginners with a simpler computer algebra
system and then to provide a bridge from this simpler system to Sage.
This should also be a good way to significantly reduce the amount of
questions that are submitted to the Sage email lists from CAS newbies.

>  * I saw that you create mathpiper as a fork of yacas. Could you say me
> more about this (yacas was one of my favorite CAS before Sage and still
> has a "place in my heart" because of his philosophy, size and language
> syntax sugar).

I began using Yacas with SageIDE because its small size allowed me to
easily experiment with various ways that a CAS could be made to
interact with a GUI front end. My initial goal was to only use Yacas
as a way to discover these promising interaction techniques and then
use the techniques with a more powerful CAS (like Sage), However,
after working with Yacas for a while I discovered that it was much
more powerful and flexible than I first thought it was. I also
discovered that beginners were able to learn the Yacas programming
language easier than any other CAS language I had tried.

I then decided that I wanted to start fixing the bugs that were in
Yacas and to also begin modifying it to work with a GUI front-end
easier. Since the Yacas project had been dormant for a while, I
decided to fork JYacas and call the fork MathPiper. The fork happened
in the Spring of 2008 and since that time myself and one other
developer have spent hundreds of hours refactoring JYacas, fixing its
bugs, and adding enhancements to it.

A couple of pieces of information which are related to this are 1)
MathPiper is the CAS that GeoGebra uses internally and 2) the GeoGebra
team is coming out with their own education-oriented CAS called
GeoGebraCAS which uses MathPiper as its computation engine.

>  * Do you say that mathpiper can run as an applet in a web browser.

Yes, MathPiper can run as an applet in a web browser and it can also
run as a stand-alone application apart from MathRider. When running
as an applet, one can use its GUI console to interact with it but one
could also use it with a Javascript-based GUI in a browser. Actually,
it might even be possible to use MathPiper as the computation engine
for a mildly modified Sage Notebook and have both of them run
completely within a browser.

> Have
> you seen 280slides.com? Do you think that is possible to build a web
> interface for Mathrider in a similar fashion?

I have seen 280slides and my understanding is that it is built with a
framework that compiles the code a web application is written in into
Javascript. I am not sure if it would be possible to build a web
interface for MathRider using this technology.

For MathRider, I have chosen the strategy of simply following the
GeoGebra team's technique for distributing math software because they
have been able to grow a 100,000+ member user community this way.
Beyond this, I view Texas Instrument's graphing calculators as
MathRider's main competition and my goal is for MathRider to be widely
used in the very inexpensive netbook-size computers that I think most
students world wide will eventually be using. For this purpose, using
MathRider as a traditional application works fairly well.

>  * Java is everywhere. How feasible is to give python support in
> Mathrider using jython?

Providing python support in MathRider via jython is actually easy to
do because MathRider uses the JEdit programmer's text editor as its
application framework and there is a very nice jython plugin that is
available for JEdit. This plugin makes it possible to use python to
customize and extend MathRider the same way that lisp is used to
customize and extend Emacs.

Ted

Offray Vladimir Luna Cárdenas

unread,
Oct 21, 2009, 8:12:11 PM10/21/09
to sage...@googlegroups.com
Hi,

Thanks for your answers. I think also that starting simple and small is
a way to increase the use of Sage also. My questions about interface and
language because I'm trying to use CAS in education with notebooks with
a textual oriented interface instead of notebooks with a calculation
oriented one. This is because I want to emphasize problem solving using
the heuristics of George Polya, so textual description of the students
interpretation of the problem is more important that calculations. In
this regard the notebook web interface has some issues and the
integration of tinyMCE is a good step on user friendliness but there is
a escape of the WYSIWYG metaphor to LaTeX code when there is a need to
write math (and of course in a problem solving oriented math course is
supposed to pass a lot). A work around that I'm using is the TeXmacs
interface for Sage, but then I lose all the nice collaborative and
ubiquitous features of the sage web interface. Having a nice equation
editor integrated with tinyMCE (may be made in something similar to
280slides) would be a good step towards a textual oriented interface. Of
course you're thinking supercalculator integrated in a small form factor
laptop, but also you're thinking about filling the gaps so knowing your
thoughts about the gap between textual oriented and calculation oriented
interface would be a nice thing, even if this is not planed for mathrider.

Cheers,

Offray

Ted Kosan escribió:

Robert Bradshaw

unread,
Oct 22, 2009, 1:53:32 AM10/22/09
to sage...@googlegroups.com

Note that it would be (relatively) easy to take the sage notebook and
make it evaluate cells via a custom, simpler, interpreter
(that could call Sage underneath).

- Robert

Ted Kosan

unread,
Oct 23, 2009, 3:48:29 AM10/23/09
to sage...@googlegroups.com
Offray wrote,

> Thanks for your answers. I think also that starting simple and small is
> a way to increase the use of Sage also. My questions about interface and
> language because I'm trying to use CAS in education with notebooks with
> a textual oriented interface instead of notebooks with a calculation
> oriented one. This is because I want to emphasize problem solving using
> the heuristics of George Polya, so textual description of the students
> interpretation of the problem is more important that calculations. In
> this regard the notebook web interface has some issues and the
> integration of tinyMCE is a good step on user friendliness  but there is
> a escape of the WYSIWYG metaphor to LaTeX code when there is a need to
> write math (and of course in a problem solving oriented math course is
> supposed to pass a lot). A work around that I'm using is the TeXmacs
> interface for Sage, but then I lose all the nice collaborative and
> ubiquitous features of the sage web interface. Having a nice equation
> editor integrated with tinyMCE (may be made in something similar to
> 280slides) would be a good step towards a textual oriented interface. Of
> course you're thinking supercalculator integrated in a small form factor
> laptop, but also you're thinking about filling the gaps so knowing your
> thoughts about the gap between textual oriented and calculation oriented
> interface would be a nice thing, even if this is not planed for mathrider.

My opinion on the text-oriented interface vs. a calculation-oriented
interface issue is that a student needs to learn how to program first
before using a calculation-oriented interface. One reason for this is
that after one knows how to program, learning mathematics is
significantly easier. Another reason is that it is fairly easy for a
student who knows how to program a CAS to learn how to use a
calculation-oriented interface to it. However, I have found that
knowing how to use a calculation-oriented interface does not prepare a
student at all for learning how to program.

So I definitely think that students should start with a text-oriented
interface and this is one of the main reasons why MathRider is built
on top of a programmer's text editor. I am currently teaching two
sections of a MathRider-based freshman-level college class (and we are
also teaching the same course at a high school as an experiment).
During the past 10 weeks I have spent a significant amount of time
looking over student's shoulders and watching them interact with
MathRider. I have noticed that the standard programmer's text editor
features such as syntax highlighting, line numbers, error
highlighting, folds, hypersearching, rectangular selection, etc. are
all a significant help as the students are learning how to program.

Beyond this, I have found that the 100% text-based worksheets that
MathRider uses are extremely easy for the students to save, submit for
grading, and share. For example, whole worksheets can easily be sent
through email or submitted for grading through our Moodle course
management system. Parts of worksheets (in the form of code folds)
are also easy to share and submit for grading when sending a full
worksheet is not needed.

Having said that, we are also in the process of designing a
calculation-oriented interface for MathPiper. Over the past few years
I have studied the interfaces for Mathematica, Maple, MatLab,
wxMaxima, TeXmacs, and MathCad. I have found the MathCad interface to
be the most intuitive and easy to use and so we are basing our
interface on MathCad's interface. But we are not going to encourage
students to use it until after they have learned how to program :-)

Ted

Offray Vladimir Luna Cárdenas

unread,
Oct 23, 2009, 8:40:30 AM10/23/09
to sage...@googlegroups.com
Hi,

Being this a list on Sage and education I will keep the discussion here
because ideas on interface could be useful for sage in particular and
for education problems and CAS in general. If it becomes too much
general or Sage unrelated and this is not the place for it, please tell me.

Ted Kosan escribió:

[...]


> My opinion on the text-oriented interface vs. a calculation-oriented
> interface issue is that a student needs to learn how to program first
> before using a calculation-oriented interface. One reason for this is
> that after one knows how to program, learning mathematics is
> significantly easier.

Is an interesting alternative approach.There is a deeper argumentation
of this? My undergraduate studies were in Informática Matemática
(informatics and mathematics some kind of middle place between both) and
in fact I remember how much insight I gain from learning math at the
same time that I was learning programming, data bases and so on, but I
never thought the other way around and this is an approach I will like
to explore. In fact, in the documentation, you mention the blog post
that I have read, but if you have any deeper info I would like to read
it also.

> Another reason is that it is fairly easy for a
> student who knows how to program a CAS to learn how to use a
> calculation-oriented interface to it. However, I have found that
> knowing how to use a calculation-oriented interface does not prepare a
> student at all for learning how to program.
>

Yes that's my experience also. Calculation-oriented interface could help
with the basics but is no warranty. But I should make myself clearer
about "textual-interface". When I say this I was thinking more about a
document processor instead of a text processor, following the
distinction made by the people of JEdit in their FAQ: Text processors
work with text that is used as input of another thing: code for
compilers/interpreters, markup languages for browsers, and so on.
Document processor on the other hand introduce a metaphor so people is
not working with the textual representation, but with the visual
representation or something between (like in the What You See Is What
You Mean approach of LyX/TeXmacs). I was more pointing to this kind of
interface, but I don't use the word "document"-oriented interface
because document is a wide word (code snipped, CAS sessions,
spreadsheets, mails are all documents). So my distinction was more about
where is the center of interaction in interface: in calculation or in
writing. TeXmacs for example has it on writing while Sage Notebook it is
in calculation. Of course there are intermediate places and my question
was more about "how is to be on that places for you?" (you addressed
that also, so see my comments behind)

I'm a user of TeXmacs. I wrote my undergraduate and master thesis on it.
I believe in its slogan: "Writing is a pleasure", at least inside
TeXmacs. The thing I like more about it is the fluid experience of
writing (and interface is about the experience): you can go to write
text to math easily, you have shortcuts, markup, icons, extensibility
with CAS sessions. The problem is that using it in Windows is not easy
(the most used OS for the students) and that Sage is too big so their
integration in a Virtualized Linux that runs inside Windows has
penalties in disk space and speed for some computers. Mathrider is
cross-platform and I would like to see the same fluid attributes of
TeXmacs in it.

I see that you can "embed" java apps in frames of the Mathrider
interface. Recently I have being testing the use of tablets to give my
classes. And I wonder if there is a possibility to integrate a journal
tablet interface as the writing math-docs centered part of the
interface. The inspiration comes from things like MathJournal[1] and
Rapid Pi[2] and Xournal / Jarnal[3]. The idea is to have a frame similar
to the ones of Geogebra/Jung and so on with Jarnal in it (how difficult
this could be?) and that some parts of Mathrider could be embedded in
Jarnal as objects keeping correspondence with their origins, in a
similar way to the "drop connected objects interface" of Mathcad. So, if
you double click on one of them, you go to the app that is the creator
of that object and can made modifications that would be updated in the
Jarnal doc. Would be nice to have something as the TeXmacs equation
editor for writing the math (I don't know if this is feasible) and also
the sage sessions support as a pipe that connects to sagenb.org (or
others servers) sends inputs and gets outputs. In that way students with
Windows and Internet connections could use Sage from a richer not
web-only graphical interface. May be is possible to embed jsmath or jmol
inside a frame of Mathrider.

[1] http://www.xthink.com/MathJournal.html
[2] http://www.rapid-pi.com/
[3] http://www.dklevine.com/general/software/tc1000/jarnal.htm

Finally I saw that you were a Sage dev and evangelist and started
Mathrider after seeing that Sage went in the math research field instead
of the math education one. In my math department there is a believe that
"doing serious math stuff" is doing research in pure abstract math and
math education is some kind of subscience (is related with the "soft
social" sciences of education). I have been in only one Sage Days and
yes it was research focused: most of the problems were about
optimization of algorithms and so on, and I was the only one with a
educative problem (how to publish the TeXmacs + Sage off-line docs
created by students as Web Sage Notebooks), but people there were
willing to listen if the topic came out (even with my poor spoken
English). I don't think that the connector between education and
research in mathematics should be an "xor". In my grant I was telling my
educational oriented issues about Sage and Mathematics and I got it, so
I think that is a matter of being in the community and making efforts
about building the bridges, like you do. Hopefully future Sage Days will
have more people on both sides (education and research) making them.

Cheers,

Offray

kcrisman

unread,
Oct 23, 2009, 1:54:16 PM10/23/09
to sage-edu

>
> Finally I saw that you were a Sage dev and evangelist and started
> Mathrider after seeing that Sage went in the math research field instead
> of the math education one. In my math department there is a believe that
> "doing serious math stuff" is doing research in pure abstract math and
> math education is some kind of subscience (is related with the "soft
> social" sciences of education). I have been in only one Sage Days and
> yes it was research focused: most of the problems were about
> optimization of algorithms and so on, and I was the only one with a
> educative problem (how to publish the TeXmacs + Sage off-line docs
> created by students as Web Sage Notebooks), but people there were
> willing to listen if the topic came out (even with my poor spoken
> English). I don't think that the connector between education and
> research in mathematics should be an "xor". In my grant I was telling my
> educational oriented issues about Sage and Mathematics and I got it, so
> I think that is a matter of being in the community and making efforts
> about building the bridges, like you do. Hopefully future Sage Days will
> have more people on both sides (education and research) making them.
>


Just to comment on this, I would say that many of the people who use
Sage for research are also very committed to making it better for
education. William in particular has put in many, many hours
improving things that almost certainly do not make computing L-
functions of Abelian varieties easier! And there are many others.
BUT you are very right that the funding mechanisms are not in ed's
favor. This is because it is easy (relatively speaking) to get NSF/
others to fund making some state-of-the-art thing in a given field,
but not at all so easy to get anyone to fund something that M*s
already do quite well.

Add to that the fact that most of the people who would be most
passionate about the teaching aspects have heavy teaching loads and/or
a weak computer science background, and the result is not surprising.
Ted K. is probably quite unusual in coming at it from the CS side, and
you can see it in that he can create something like MathRider! I
couldn't imagine that in my wildest dreams. Most of the people I've
talked to who really want to improve the ed side have some computer
background, but not the expertise to do really amazing things. Jason
G. and David J. are probably exceptions in this regard - and I'm
really thankful for them! Also some of the grad students and
undergrads who have worked on Sage have done quite remarkable things,
though of course they don't have to teach a 3-3 (or higher) load
yet ;)

But I too hope for future things in this regard. See
http://wiki.sagemath.org/dayscambridge2 for a tiny step in the
direction you are suggesting, and thanks for your thoughts on it.

- kcrisman

calc...@aol.com

unread,
Oct 23, 2009, 3:35:07 PM10/23/09
to sage...@googlegroups.com
Speaking of grad student contibution to Sage, I thinl dSage is one such
contribution. I'm wondering if dSage is still supported for doing
distributed computing problems with Sage over a cluster. My
independent study computer science students would love to use dSage!

HTH,
A. Jorge Garcia
http://calcpage.tripod.com

Teacher & Professor
Applied Mathematics, Physics & Computer Science
Baldwin Senior High School & Nassau Community College

Offray Vladimir Luna Cárdenas

unread,
Oct 24, 2009, 2:18:23 PM10/24/09
to sage...@googlegroups.com
Hi,

kcrisman escribió:

[...]

Nice to see the coming Sage Days 18 with a education day :). That's a
way to get funding for the things that other M*s don't do but at the
same time putting education as an important matter. I have not seen the
calling for the education day, but surely this or the others Sage Days
will have this and people from "both sides", research and education,
talking more.

Cheers,

Offray

Ted Kosan

unread,
Oct 25, 2009, 12:13:49 AM10/25/09
to sage...@googlegroups.com
Offray wrote:

>> My opinion on the text-oriented interface vs. a calculation-oriented
>> interface issue is that a student needs to learn how to program first
>> before using a calculation-oriented interface.  One reason for this is
>> that after one knows how to program, learning mathematics is
>> significantly easier.
>
> Is an interesting alternative approach.There is a deeper argumentation
> of this? My undergraduate studies were in Informática Matemática
> (informatics and mathematics some kind of middle place between both) and
> in fact I remember how much insight I gain from learning math at the
> same time that I was learning programming, data bases and so on, but I
> never thought the other way around and this is an approach I will like
> to explore. In fact, in the documentation, you mention the blog post
> that I have read, but if you have any deeper info I would like to read
> it also.

Aside from my own experience, observing my students for a long period
of time, and Steve Yegge's wonderful blog post on the subject, I have
no further information to support this idea so I probably should have
stated that it was my opinion :-)

> Yes that's my experience also. Calculation-oriented interface could help
> with the basics but is no warranty. But I should make myself clearer
> about "textual-interface".  When I say this I was thinking more about a
> document processor instead of a text processor, following the
> distinction made by the people of JEdit in their FAQ: Text processors
> work with text that is used as input of another thing: code for
> compilers/interpreters, markup languages for browsers, and so on.
> Document processor on the other hand introduce a metaphor so people is
> not working with the textual representation, but with the visual
> representation or something between (like in the What You See Is What
> You Mean approach of LyX/TeXmacs). I was more pointing to this kind of
> interface, but I don't use the word "document"-oriented interface
> because document is a wide word (code snipped, CAS sessions,
> spreadsheets, mails are all documents). So my distinction was more about
> where is the center of interaction in interface: in calculation or in
> writing. TeXmacs for example has it on writing while Sage Notebook it is
> in calculation. Of course there are intermediate places and my question
> was more about "how is to be on that places for you?" (you addressed
> that also, so see my comments behind)

I understand what kind of interface you mean now. A while ago I used
TeXmacs fairly regularly and I very much liked the design.

> I'm a user of TeXmacs. I wrote my undergraduate and master thesis on it.
> I believe in its slogan: "Writing is a pleasure", at least inside
> TeXmacs. The thing I like more about it is the fluid experience of
> writing (and interface is about the experience): you can go to write
> text to math easily, you have shortcuts, markup, icons, extensibility
> with CAS sessions. The problem is that using it in Windows is not easy
> (the most used OS for the students) and that Sage is too big so their
> integration in a Virtualized Linux that runs inside Windows has
> penalties in disk space and speed for some computers. Mathrider is
> cross-platform and I would like to see the same fluid attributes of
> TeXmacs in it.
>
> I see that you can "embed" java apps in frames of the Mathrider
> interface. Recently I have being testing the use of tablets to give my
> classes. And I wonder if there is a possibility to integrate a journal
> tablet interface as the writing math-docs centered part of the
> interface. The inspiration comes from things like MathJournal[1] and
> Rapid Pi[2] and Xournal / Jarnal[3]. The idea is to have a frame similar
> to the ones of Geogebra/Jung and so on with Jarnal in it (how difficult
> this could be?) and that some parts of Mathrider could be embedded in
> Jarnal as objects keeping correspondence with their origins, in a
> similar way to the "drop connected objects interface" of Mathcad. So, if
> you double click on one of them, you go to the app that is the creator
> of that object and can made modifications that would be updated in the
> Jarnal doc.

One of the reasons I chose to base MathRider on JEdit is because JEdit
was designed from the ground up to be easily extended via scripts and
plugins. Beyond this, it has all the "plumbing" which is needed to
allow these plugins to communicate with each other so that useful
applications like the one you describe can be created without too much
effort. So beyond its role as an environment for teaching beginners
how to program a CAS, MathRider is also a rapid prototyping laboratory
where numerous mathematics oriented applications can be created and
experimented with to determine if the approach they embody is useful
or not.

The especially useful applications can also be spun out of MathRider
as stand-alone applications that do not need to run inside of
MathRider at all. For example, MathPiper can easily execute outside
of MathRider and it be found in a file called


mathrider/jars/mathpiper.jar in the MathRider distribution. If you

open a command line shell and execute the mathpiper.jar file using the
following command:

java -jar mathpiper.jar

A GUI console will be launched which will give full access to

MathPiper. If the following command is executed, the GUI help
application for MathPiper is launched:

java -cp mathpiper.jar org.mathpiper.ui.gui.help.FunctionTreePanel

Most of MathRider's plugins can be run outside of MathRider like this,
either individually or together as part of some application. The hand
full of plugins that are currently distributed with MathRider are
mostly a proof-of-concept for the hundreds of plugins that I envision
it will eventually support. I have quite a long list of plugin
candidates and I have already added Jarnal to the list :-)

The reason that MathRider is designed this way is because I don't
think anybody can predict what the useful mathematics-oriented
applications for education are going to be so MathRider makes it
relatively easy to experiment with various application designs to see
which ones work and which ones don't. Of course, the primary
difficulty that educator's who have an idea for an application face is
that most educators are not application programmers. This section
from Karl-Dieter Crisman's post touches on this problem:

> Add to that the fact that most of the people who would be most
> passionate about the teaching aspects have heavy teaching loads and/or
> a weak computer science background, and the result is not surprising.
> Ted K. is probably quite unusual in coming at it from the CS side, and
> you can see it in that he can create something like MathRider! I
> couldn't imagine that in my wildest dreams. Most of the people I've
> talked to who really want to improve the ed side have some computer
> background, but not the expertise to do really amazing things.

This "educators with an idea but no way to implement it" problem is
fundamental and it is one that I developed a solution for when I was
active in the Sage project. As it turns out, a side benefit of
teaching a large number of students how to program is that a
significant number of them will find they have a real talent for it
and they will want to do more of it. It is not a coincidence that
MathRider is developed with MathRider configured as an IDE (complete
with a build system, integrated source code repository access tool,
etc.) So then one a) teaches these talented students how to do
application programming and b) puts a process in place which enables
them to work with educators in order to create plugins and
plugin-based applications. This then becomes a software engineering
problem and the discipline of software engineering contains standard
methods for solving it.

> Being this a list on Sage and education I will keep the discussion here
> because ideas on interface could be useful for sage in particular and
> for education problems and CAS in general. If it becomes too much
> general or Sage unrelated and this is not the place for it, please tell me.

I think we have indeed strayed into the "Sage unrelated" category, so
if you would like to continue this discussion feel free to contact me
off list :-)

Ted

kcrisman

unread,
Oct 26, 2009, 2:08:53 PM10/26/09
to sage-edu

>
> This "educators with an idea but no way to implement it" problem is
> fundamental and it is one that I developed a solution for when I was
> active in the Sage project.  As it turns out, a side benefit of
> teaching a large number of students how to program is that a
> significant number of them will find they have a real talent for it
> and they will want to do more of it.  It is not a coincidence that
> MathRider is developed with MathRider configured as an IDE (complete
> with a build system, integrated source code repository access tool,
> etc.)  So then one a) teaches these talented students how to do
> application programming and b) puts a process in place which enables
> them to work with educators in order to create plugins and
> plugin-based applications.  This then becomes a software engineering
> problem and the discipline of software engineering contains standard
> methods for solving it.

Ted,

In fact, this is also a (relative) selling point of Sage to me -
because it does include everything you need to do it, though one does
have to navigate a tree to find the document, open a text editor,
etc... but for me at least that wasn't too high a barrier, since HG
and all that was included, and to many students I talk to it
definitely isn't a big barrier. I think you are right about students
being the real growth factor in any project like Sage, MathRider,
Geogebra, etc., long-term (say, 10-20 years) if they are to remain
viable in that time frame. I was unusual in that I encountered Sage
when I "didn't have time" for learning to program as a professional,
but just made time on the math side; the GUI side is probably too much
for a non-student to pick up.

Good luck!

- kcrisman
Reply all
Reply to author
Forward
0 new messages