Right now I am in Seattle, Washington for the Sage EDU Days 5 conference. This is my third trip in a row, and I owe my conference funding to having participated in an NSF grant-funded project called UTMOST (Undergraduate Teaching of Mathematics using Open Software and Textbooks). For me, the goal was to try out introducing the open source software package Sage in some of my courses.
The conference is three days, and people come here to work. People show up early, have a laptop open even during all the talks, and work late into the night. They work on the software itself. (Sage is a community project: there are hundreds of developers across the world, and there is lots going on.) People work on classroom materials that use the software. There is a lot of activity by a lot of smart and interesting people. I really enjoy this meeting, even though at times I feel like a total n00b.
So, what have I accomplished? Not so much, yet. On Wednesday I spent the day in conversations with as many people as I could find about how they use Sage in educational settings. I had the same question for everyone: “What do you do to break the barrier between the students and the software?” I feel like I got some reasonable responses:
1. Use Sage in class a little bit every day.
2. demonstrate how you use Sage on a problem you haven’t yet solved. (It is important to let the students see how you explore.)
3. Use small pieces at first, gradually grow in complexity.
4. Find a way to change the student perspective: software can be “something else we have to learn,” but you would rather have it be “something I get to use to help learn.” The difference is subtle and about approach.
5. Some sort of explicit and intentional instruction is required.
I should give credit where it is due. I definitely remember talking with the following people about these issues: Jason Grout, Jason Aubrey, Tom Judson, Rob Beezer, Greg Bard, Steve Singleton, George Jennings, and… I am sure I have lost some names here.
Today, Thursday, I “squandered” on many conversations about the general “Sage Project.” What is it, where should it go, and what needs to happen next? I am a minor participant in all of that, but it was fascinating to be part of it. There were also lots of interesting presentations today about how people use Sage in educational settings.
My goal for tomorrow is to spend some more time checking out the differential equations and differential geometry capabilities that are already included. I might try to make a little “quick start” guide for differential equations.
Oh, you are curious about this magical software phenomenon? How should you get started? Well, I have just the thing. Earlier this spring I took an introductory workshop that Jason Grout and I ran and made a little web page. Go have a look and get your feet wet.
There are several things that have happened recently that are worth knowing about:
- The Sage Single Cell server is maturing. This makes it easy to get started, and allows one to embed a sage computation in any web page. (I have several in my “math blog.”)
- The project founder and lead developer, William Stein, has made great strides in building a web service version of Sage, called Sage Math Cloud. This is incredibly awesome. I’ll have to dedicate a whole post to its wonderful nature sometime soon. You can find it at http://cloud.sagemath.com. For now, I will point out that it basically gives you a web page interface to a Linux box (Ubuntu 12, I think) with Sage, , and terminals! (Seriously. You get full access to the file system.) There is project level sharing, and automatic “snapshot” backup functionality. So a mathematician can write, compute, and program all in one place.
- Sage and WeBWorK are starting to play nicely together. Three WeBWorK developers (Mike Gage, John Terry and my former office mate Jason Aubrey) are here and they have managed to get WeBWorK to use Sage as a computational engine. This will make WeBWorK more powerful, and expand the usefulness of Sage.