Waldek wrote:

>> So that is when I came up with the idea of using an entry-level
>> learning CAS as a way to have students learn the fundamental
>> programming and CAS skills they need to then go on to learn a
>> professional-level CAS.  MathPiper is that entry-level learning CAS
>> and this past year we tested MathPiper with high school students and
>> college freshman and it was very successful.  Sometime this Fall we
>> will officially announce MathPiper and start actively marketing it.
>>
>
> I wonder why you think you need special CAS.  I mean, you clearly
> want easier user interface.  To control error messages you may
> want your own programming language.  But it is not clear for me
> why you want new "computational engine".

There are a number of reasons (some of them technical, some of them
social) for why using a CAS which is specifically designed for
education works better in a high school or early collage environment
than a standard CAS and here are some of them:

1) One usually doesn't have the luxury to teach students how to
program in one class and then teach them how to program a CAS in a
follow-on class.  In most schools, there is room for only one
programming-oriented class to be taught and if it is a CAS-based
class, the students will need to be taught beginning programming at
the same time they are being taught how to program a CAS.  This means
that the CAS language that they learn needs to be about as simple as
BASIC.  Any language that is more sophisticated than BASIC will
significantly limit how widely used it will be in schools.

For example, I found it very difficult to teach Sage to beginning
programmers because Sage requires the user to learn how to program in
Python and Python requires beginners to learn about object-oriented
programming.  OOP is much too complex a concept to grasp for students
who are having a very hard time just getting their minds around what a
variable is.  The MathPiper programming language is about as easy to
learn as BASIC is and the freshman-level classes I have taught with it
so far went much better than the freshman-level Sage classes I have
taught in the past.



2) Most CASs use abbreviated function names which makes it quicker for
experienced users to enter programs.  However, it is much better for
CAS/programming newbies to have function names spelled out as much as
possible.  Therefore, one of the first things we did after forking
MathPiper from Yacas in 2008 was to begin a global function renaming
effort to have the function names spelled out.  Here are some
examples:

D -> Differentiate
Numer -> Numerator
Denom -> Denominator
HoldArgNr -> HoldArgumentNumber
etc.

At first we were concerned that it would be difficult for students to
type these longer names, but we soon discovered that current students
use chat applications so much that typing these longer names was no
problem for them at all.  Could the functions names of a standard CAS
be made more education-friendly like this?  Technically yes, but the
normal user base of this standard CAS would not permit it.



3) A CAS which is meant for education needs to be very easy to install
on Windows PCs, Macs, and Linux machines so that the school's IT
personnel can (and will) install it and also so that students and
teachers can install it at home.

A recent example of the importance of easy installation of an
educational CAS happened earlier this week when I demonstrated
MathPiper to a local high school teacher who was deciding whether or
not she should teach a class based on it this coming year.  She had
never even heard of a CAS before learning about MathPiper and she was
concerned that it was going to be too complex for her and her students
to install and use, especially since her school uses Macs.  Her
concerns about installation difficulties disappeared when she saw me
install MathPiperIDE on her Mac laptop and have it running in about 2
minutes.

In this case, the thing that is special about the MathPiper CAS is
that it is easy to install.



4) A CAS which is meant for educational use needs to be able to run
inside web browsers because teachers will want to create all kinds of
educational web pages which contain a live CAS.  The reason the CAS
needs to run inside browsers, and not as a web application which
requires the CAS to be installed on a server, is that most
technology-oriented teachers are capable of creating simple web pages
and making them available on the Internet, but very few teachers have
the skills needed to install, configure, and maintain their own CAS
Internet server.  The MathPiper CAS (not MathPiperIDE, just MathPiper)
fits in one 1.2 MB .jar file and it is easily capable of running in a
web browser.



5) A CAS which is meant for educational use needs to have a simple
enough implementation that CAS amateurs can maintain and enhance it
and are content to do so.  The reason for this is that educational
users of mathematics software are constantly requesting enhancements
and the GeoGebra forums provide ample evidence for this.  My thought
is that anyone with deep CAS development experience would not be very
happy spending hundreds of hours each year enhancing a CAS so that it
meets the needs of high school teachers.  MathPiper's implementation
is (just barely!) simple enough so that CAS amateurs like myself and
the other main MathPiper developer (Sherm Ostrowsky) are able and
willing to maintain and enhance it for teachers.


Ted

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to