> < ^ Date: Wed, 12 Jan 1994 20:13:00 +0100
> < ^ From: Joachim Neubueser <joachim.neubueser@math.rwth-aachen.de >
^ Subject: re GAP for undergraduates

In his letter to the forum of Dec. 31, Bill Haloupek asked for
suggestions with respect to the use of GAP in teaching undergraduates
and raised some questions that I think are important.

I am grateful for the report about the use of GAP at St. Olaf that was
sent to the GAP-forum a few days later providing some such
suggestions. I have already talked about our (rather less systematic)
use of GAP in teaching; today, rather belatedly, I would like to
comment in a more general way on a couple of points in Bill Haloupeks

I think the GAP manual is pretty intimidating to undergraduates.

Yes, I completely agree that it must be intimidating to the vast
majority of the students. We intend (but do not ask when) to split the
manual into three parts, the first an extended version of the first
chapter 'About GAP', the second the reference part to the functions in
the main body of GAP and the third about the share libraries. This
will hopefully make use easier but still would only marginally reduce
the intimidation of undergraduates. For these indeed an easy
introduction to the easy parts of GAP should be written, leaving out
character tables and similar 'horrors'. However I had to say above
that I can't promise a date when we will have been able to split the
manual, I can say rather safely that we simply will not have the time
in any foreseeable future for writing such an undergraduate
introduction, which after all should be based on some experiments with
students, and should introduce concepts together with their
exploration using GAP. Being a small department with rather high
teaching duties, we will be glad if we reasonably manage the
maintenance and improvement of GAP. I would therefore highly welcome
if somebody undertook that task, which indeed I think would be most

There is a much more user-friendly and simple program...It does
calculations in S4 mainly.

I do not know this program and certainly would not at all want to
question its helpfulness. However I would like to make some points
both from my own experience as a student and from my experience with
my students.

I do not believe that one should introduce programs that replace hand
calculations too early. I think in a group of the size of S4
everything can still rather well be done by hand and indeed writing
down by hand all cosets of the Klein-Four-Group on one hand and a
Three-cycle on the other and trying to form a group from either set is
a useful experience. Even though we have GAP and tell students early
how to use it, we do require some such hand calculations.

When I was a student and my teacher Wolfgang Gaschuetz proved all
those wonderful theorems about existence of complements while I just
knew S3, S4, and D8, I sat down and worked out all groups up to order
30 and their subgroup lattices just to see what he was talking about.
I am not recommending that every undergraduate should do that, but a
little of that kind, yes, I certainly learned a lot about group theory
doing that.

However, when I had done that, one equally important benefit for me
was that I started to believe that all these difficult concepts and
wonderful theorems were about *something at all* and that it might be
fun to know more about these so simply defined and yet so complex
structures, called groups. I think it is this point even more than
the help with the understanding of the meaning of basic concepts were
GAP (and other systems) can help.

Another help that systems can give is to show rather different
situations in which a theorem applies and also situations which are
similar but not quite and where the theorem does not hold any more,
i.e.systems can help to understand (the scope of) a theorem through an
understanding of its limitations. E.g. in a finite abelian group A
there is a subgroup of each order dividing the order of A. In A4 there
isn't! Oh! So Sylow's theorem is something after all! That you will
probably still do by hand but for bigger ones use GAP.

Coming back to my collection of drawings of subgroup lattices, you may
have noticed that GAP 3.3 comes with a (still very rudimentary) X-GAP
which works under X-windows and allows to obtain such drawings on the
screen. This will be extended also to incorporate features that have
been developed in Derek Holt's and Sarah Rees' beautiful system
QUOTPIC for the investigation of a finitely presented group drawing
parts of its normal subgroup lattice, i.e. depicting certain
factorgroups. I think such visualisations will lend themselves rather
well to teaching even undergraduates, giving them a "picture" of the

A manual should include a section telling us mathematicians how to
evaluate computer homework.

Well, maybe it is, since I (still) hope to be a mathematician, too,
that I do not know what to write into such a section! But seriously:
What we do is the following: In an Algebra course (at present I give a
course Algebra I, the usual 'Groups, Rings, Fields' up to Galois
Theory for first term, second year students), most of the exercises
are to be done by hand. Some with computations are "either by hand or
by GAP" and what counts is if the result has been achieved. If GAP is
used, a print of what has been done should be provided in much the
same way as the hand computations should be shown. In addition there
are a few problems which really can only be done with GAP and in most
cases these are "extra credit" as in your class. That is, the ability
to use GAP very efficiently is *not* the criterion for passing the
course. Rather the students should gradually learn to appreciate that
indeed GAP may help them dealing with more complicated concrete
problems. (In fact in the written test at the end of the course which
mainly decides about passing it there is no GAP at all!)

In a general group theory course there will be a little more
"pressure" in the direction of using GAP. The kind of philosophy is:
Well, a prerequisite of saying that you mastered the course is not
only that you learned some facts and understood some concepts but
definitely also that you learned some techniques to prove certain
statements, another (complementing, not at all replacing it) is that
you learnt some techniques to work in concrete groups - by hand and
argument as well as using algorithmic methods in a system.

Finally, in a course on Computational Group Theory naturally the
second aspect dominates.

However in neither of the different courses have I ever felt a need
for a special evaluation method. None of the courses is about
techniques for writing programs, none of them is a computer science
course. Neither is any of them a course for living in a group
theoretical fool's paradise in which black boxes spit out
charatertables. Also in the CGT course the understanding of the group
theory that lends itself to developing an algorithm is the aim, hence
it is all the time the ability to do something using the understanding
of it that should be tested.

As I have said in another letter, we intend (again do not ask dates)
to provide at least a set of worked out examples of the use of GAP
that may be used in class, some coming from our courses in Aachen,
some from the CGT workshop at Galway, but also, with his kind
permission, including those that Peter Webb offered. Maybe others
could do the same?

Joachim Neubueser

> < [top]