kirby urner wrote:
On Sun, Jan 31, 2010 at 10:05 AM, michel paul <mpaul...@gmail.com> wrote:


<< SNIP >>

Again, one of the things I truly love about Sage is that at its core, it is
pure Python.  I was delighted with something one of my FST students said.  I
had been using Sage as my blackboard in class, and then I started showing
them pure Python.  My student said that he liked having to think things
through in pure Python better than using Sage directly, because Sage seemed
so overwhelming.  When I had them restricted to just the Python shell, he
liked having to reason with just a small set of constructs.  I was glad to
hear him say that, as it showed he was really getting the message about what
I was saying 'computational thinking' was all about.

- Michel

Thank you for sharing more about Sage, the above remark especially.

Yes, like Mathematica, Sage may seem overwhelming given how the math
concepts come flooding in on top of Python.

If Python is unfamiliar to begin with, then the learning curve may seem
vertical.

If you read through parts of the tutorial below (as I've been doing),
you'll see that the introductory chapters read a lot like a standard
Python tutorial.

This book is written (per introduction) for Sage users who have been
exposed to a computer language before, just maybe not Python....

http://sage.math.washington.edu/home/tkosan/newbies_book/sage_for_newbies_v1.23.pdf

Nice tutorial. I'm still having difficulty seeing an advantage of Sage over Python/SciPy, however.

I'm putting together a proposal for a freshman-level course in CS. Currently we have three courses - one for CS majors (Java), one for computer engineers (C), and one for physics and astronomy (C). Matlab is also used in many of our science and engineering classes. Here it is just a tool, not a subject of study in itself.

The course I will propose could serve all departments, and will cover the fundamentals common to all. It could also be an excellent high school preparation for college. The language will almost certainly be Python, although we may get as far as introducing a little Java or C. (This could perhaps be an option in the last three weeks - Java for CS majors, and C for engineers and scientists.)

Graphics will be very important - everything from simple 2D plots to 3D animations. The focus will be on computing fundamentals, however, not the details of how these packages work. They are just tools to visualize an equation or process and aid in the understanding of concepts.

Examples contributed by faculty in math, science and engineering will be an outstanding feature of this course. Here is where we need more than the standard library in Python. We need a Fourier transform that "just works" and produces beautiful spectra of various waveforms and images. We need the functionality of MatLab, without its drawbacks.

I've been leaning toward Python/SciPy/MatPlotLib, but recent discussions of Sage have me interested in looking at alternatives. What are the factors we need to consider?

1) Features. Does the package do everything we might want, now and in the future when students use it for later classes and on the job. 2) Simplicity. Is it easy to set up and use on student computers (Windows, Mac or Linux)? Is it easy to learn? Is it open-source, so students can dig into it as deep as they like? Is it available everywhere without legal complications, e.g. MatLab's license? 3) Universality. This is more than just popularity (counting users). We need a minimum level of community support (discussion groups, interest from employers, programs on SourceForge, books from Amazon, etc). Availability of textbooks is a special consideration in this category. Ruby, Prothon, Scala, etc. (one up from Python?) have nothing comparable to Litvin/Zelle/Goldwasser. 4) Conformity. Does it fit in well with existing curricula? Is there an easy transition to Java, C, MatLab, etc. Can it be used as just a tool in a course that has nothing to do with programming?

This last factor is especially difficult for us idealists. We might like to toss out everything in the status quo, and start with a clean slate, but that approach will get us nowhere. We need options all the way from a one-hour demo to a whole course centered on the use of these tools.

Before comparing these packages, let's discuss the factors above. Have I left out anything important?

-- Dave

************************************************************     *
* David MacQuigg, PhD    email: macquigg at ece.arizona.edu   *  *
* Research Associate                phone: USA 520-721-4583   *  *  *
* ECE Department, University of Arizona                       *  *  *
*                                 9320 East Mikelyn Lane       * * *
* http://purl.net/macquigg        Tucson, Arizona 85710          *
************************************************************     *


_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to