On Mar 9, 2:49 pm, Matt Noonan <[email protected]> wrote:
> Hello all,
>
> I have enjoyed using Sage while teaching several classes now, finding
> it especially terrific for linear algebra and differential equations.
> But one barrier to entry for my students has been keeping track of
> what is a function and what is a method.  Since most of the students
> do not have a background in computer science, I think the idea of a
> method (or even an object) is a bit foreign to them, and the notation
> seems obscure.
>
> To hopefully ease these problems, I've been writing a little bit of
> code which automatically converts failed function calls into method
> calls.  For example, you can now write
>
>         A = matrix([[1,2],[3,4]])
>         print eigenvalues(A)
>
> and get a result which is equivalent to writing
>
>         print A.eigenvalues()
>
> Yet the code
>
>         B = vector([1,2])
>         print eigenvalues(B)
>
> would fail with a NameError.  In fact, "eigenvalues" isn't even in the
> namespace here.

Oh, how I wish you would have emailed here first!  This is already
*in* Sage.  See 
http://ask.sagemath.org/question/559/how-to-magically-define-variables-and-use
.  Apparently this is only available in the notebook, by the way -
according to the ticket where William did this, "I could not figure
out how to implement this on the command line without making
potentially major changes to IPython, which is a bad idea at this
point."  Perhaps things in IPython have changed, perhaps not.

Maybe we should advertise this more.  One of the pedagogical issues in
question (hence cc:ing to sage-edu) is that we *do* eventually want
students to get more sophisticated, and so I have been careful *not*
to use this.  Especially math and science majors are almost guaranteed
to need to know how to program if they do not go into education, and
it's a boon to them if they do, so knowing the OO paradigm (even if
they don't call it that) can be useful.

- kcrisman

-- 
You received this message because you are subscribed to the Google Groups 
"sage-edu" 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/sage-edu?hl=en.

Reply via email to