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.
