Tuesday, July 15, 2008

Calculus Tutorial

What I thought would be really helpful for Sage, in terms of raising public awareness, is a calculus tutorial aimed at high school and early college students. Not only will the tutorial teach the basics of calculus, it will teach the basics of Sage as well, which I hope will encourage the students who use it to tell their friends, their teachers, etc. and thereby attract a greater client base.

So far, I have just about finished my introduction of tangent lines, after which I'll be talking about limits. For the page about tangent lines, I wrote a graph that displays the function f(x)=x^2 as well as two points on the curve and a secant line through them. The reader of the tutorial is to manipulate the code so as to approximate the tangent line at a single point. What worries me, though, is the thought of the fictional average person, who has no experience with code of any sort and thus abandons the tutorial as soon as he or she sees it. There must be some way to relate Sage to that person as well, though how to write simultaneously for the code-savvy and the code-illiterate is an interesting quandary. As I go along, I think I'll have the rest of my family try out the tutorial, since none of them really knows anything about calculus or programming. That, I think, should be a reasonable gauge of how approachable it is from the "average" viewer's perspective. Perhaps I'll have my high school calculus teacher look over it, too, and see how he reacts to both the content and the code.

Wednesday, July 9, 2008

Porting Calculus Tests

As part of my summer work with Sage, I've been porting a bunch of Maxima and Michael Wester calculus tests to Sage. Things started out kind of slow -- my 20kB/s Internet connection isn't good for much of any remote work -- but once I got Sage running locally through VMWare on a virtualized copy of Ubuntu Linux I was good to go. So far, I've ported all of the tests on integration and Taylor series as well as some on derivatives. Plus, I wrote my own series of tests for some of the basic rules of integration and derivation. Right now, I'm trying to diagnose why many of Maxima's tests fail on Sage, and I've discovered that the problem is often twofold. Currently, Sage has trouble with integrals that involve piecewise functions and/or additional variables inside functions with restricted domains, though we'll see what the future brings.

Next, I suppose that I'll either continue writing tests or maybe move on to creating the calc101 sort of website that I had envisioned for Sage. In any case, I'm having fun and learning a lot in the process!