Hi Mike,

First, thanks for your work on this.

An implementation of finite abelian groups would be at the top of my
list.  Folklore has it many have tried - not sure just where it gets
hard.  Then build the group of units mod n on top of that for its own
sake and as a demonstration of the more abstract class.  I have some
code for the group of units in a worksheet someplace (which I can
share).  Besides wishing for a more solid foundation to build on, I
ran out of steam as I tried to implement subgroups of same properly.
Maybe somebody can suggest somewhere else in Sage where an algebraic
substructure is done "right".

I really like starting with permutation groups with my students, so
they have something concrete to compute with, and then groups of
symmetries are very natural.  A colleague starts with matrix groups
for the same reason.  But once I get beyond groups of order 15 (except
for the obvious infinite familes) I begin to wish I had groups as
presentations towards the end of the semester.  I implementd dicyclic
groups as permutation groups to plug a hole at order 12, but I think
there is little point in going beyond a complete list up to 15.  So
this is on my wish list also.

Homomorphisms would be really nice as well, but I agree that looks
hard, and I wouldn't find them as beneficial.

I'm less concerned about a long list resulting from tab-completion.  I
see that as the point of a tutorial - expose students to the 20-40
methods they need to know with some instructions and then turn them
loose.  If they can remember the first few letters of whatever method
they are after, the tab-completion list is usually quite short (or
unique).  Trickier things (like syntax for specifying permutations)
and coercing elements into permutation groups, or rings of integers
will not be easy to convey with tools like tab-completion, so there's
another case for a tutorial.

I view Sage as already being a "student mode" version of GAP.  ;-)
But systematically improving error messages should be an easy project
with a lot of benefit.

Some other ideas I've had:

(a) Implement equivalence relations.  Maybe not the biggest payoff,
but it looks like GAP has a lot of support for this.

(b) All subgroups of a group (not just conjugacy class
representatives).

(c) Quotient groups whose elements are the actual cosets, rather than
a new permutation group isomorphic to the quotient group.

(d) Improved Cayley tables.  #2 on my Sage list and I'm fairly far
along on this already.  So maybe soon.

(e) All Sylow subgroups, not just one.

Rob


On Mar 8, 3:57 pm, Mike OS <mosul...@math.sdsu.edu> wrote:
> I have some funding from my university to develop
> materials in SAGE for use in my classes.   I've hired
> two sharp students, one with a good deal of programming experience,
> to work on the project.  I have two inter-related goals
> 1.  Help to make SAGE more accessible to students:
> Develop tutorials, materials for use in class, and
> assignments/explorations.
>
> 2.  Contribute to SAGE development.
>
> This post concerns the educational issues.  A post to sage-devel has
> some
> observations and questions about item 2.  Our focus right now is on
> group theory.
>
> For both items we are anxious to have some guidance and
> collaboration to make our effort broadly useful.
>
> We have started a tutorial, once it's a bit more polished I'll post a
> link.
> (We've looked at others on the web, and are borrowing ideas, thank
> you.)
>
> Here is my wish list for using SAGE in courses, I'm interested in
> hearing comments:
>
> A.  I'd like elements of A= AbelianGroup( [2,3,4]) to be shown as 3-
> tuples.
>     Currently GAP notation is used, so (1,2,1) is f0*f1^2*f2.
>     I'd like to write A(1,2,3) to coerce a 3-tuple into A.
>
> B.  There is some functionality lacking in SAGE, that it would be very
> nice to have
>     This gets to the development issues, and the relationship with
> GAP, so I'll
>       just mention a few things.
>     - Some types of groups are absent or difficult to use in SAGE:
> Finitely Presented Groups,
>       Unit Group of a Ring (e.g. U_n and F_p[x]/f(x) ).  I'm not sure
> how to make a direct product.
>     - Matrix groups don't have subgroups implemented.
>     - I like to introduce homomorphisms early and use homomorphsism
> between different
>       types of groups. This appears to be difficult.
>
> C. I would like  a "student mode" that would be less intimidating to
> the user:
>    -Reduce the number of functions that  appear on tab completion.
> For a permutation
>     group there are 122 completions.  Perhaps 20-40 are within the
> vocabulary of an
>     undergrad.
>    -Simplify error messages.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-edu" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-edu+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-edu?hl=en.

Reply via email to