[Edu-sig] Sage, SciPy or continue with MatLab ???
David Joyner
wdjoyner at gmail.com
Mon Feb 1 20:57:44 CET 2010
On Mon, Feb 1, 2010 at 12:45 PM, David MacQuigg
<macquigg at ece.arizona.edu> wrote:
> kirby urner wrote:
>>
...
>
> 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?
I think there are binaries for python/scipy at enthought.com for various
platforms, but I'm not positive. You might want to check them out.
IMHO Sage will do what you want but for the windows users (mac+linux installs
are actually fairly easy - with binaries at sagemath.org or you can
compile form source)
you have 2 options:
your students will run Sage from a virtual machine environment (virtualbox is
used, I believe) or run sage from a server (such as at sagenb.org, but
presumably
local to your campus). I am teaching a python+math computation class
now and allow students to either use pure python or sage via a local
sage server. Sage includes scipy and sympy.
I do not have a good argument against matlab. If you and your students
can afford it and you think they need to learn matlab for their career-path
then there is little I can say against that. However, if cost is an issue then
octave may be an option, as it is apparently 90% matlab compatible.
<rant> If you are going to teach students programming you should not start them
out with matlab.</rant> (Sorry, had to get that out of my system.)
I should add that Sage servers are supposed to be able to work with octave
commands (in place of Sage) but I have not tried it. You might want to go
to sagenb.org and sign up for an account and do a "test drive" before
you make a final
decision.
> 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?
You left out the sympy+octave option, which is cross-platform and
might server your
needs (sympy.org and octave.org).
>
> -- 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 at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>
More information about the Edu-sig
mailing list