Learning GAP
GAP can answer simple questions or be a tool for experts.
We have collected here links to a variety of materials intended to help
people learn the language and get what they want from GAP.
See also the page on
Teaching Material,
which refers to material accompanying courses given at various places.
Some of these materials have been written as standalone introductions to
GAP, others were prepared to accompany talks at conferences.
We have tried in each case to indicate the level and the intended audience.
There is considerable overlap in the content of the various materials,
particularly in their introductory sections. We suggest that you look at
several accounts, both to discover which are most suited to your
background and interests, and to see some different ways that people think
about GAP.
Of course everything about GAP is contained in the
manuals where it is explained in detail,
but since already the main
Reference Manual is so extensive we recommend that you look
briefly at its table of contents first, then start to learn
GAP with some of the basic materials here. If you can,
start GAP in one computer window and open the written
material in another, so you can cut and paste and experiment as you go
along.
Later, when you start to run your first own jobs, you may either continue
to use GAP interactively or write programs to be saved and
then executed. The latter has the advantage that such programs can easily
be modified and rerun.
We wish you an enjoyable and rewarding experience learning
GAP.
Elementary Accounts

The Tutorial
is a basic introduction to some of the most commonly used functions and
programming terms.

The Software Carpentry lesson
"Programming with GAP"
by Alexander Konovalov
gives an introduction to GAP covering various aspects of work
with the system from using the command line to explore algebraic
objects interactively to saving the code into files, creating functions
and regression tests, searching in the Small Groups Library and extending
the system by adding new attributes.

Some
introductory lessons for new GAP users have been written by
Edmund Robertson
.
Of this the section 'Graph Theory using the GRAPE package' was contributed by
Robert Brignall.

Some
introductory exercises (html) for new GAP users have been written by
Stefan Kohl
. There is a downloadable
pdf version as well.

David Joyner
is collecting a list of frequently asked questions about
Constructions of various mathematical objects in GAP
with fully worked out GAP code answering them. This
collection is specially recommended for newcomers to the system .

Alexander Hulpke
has collected user questions (mostly from the GAP
Forum) about mathematical applications of
GAP together with the corresponding answers. See
Some GAP Questions on his home page.

Using GAP.
A GAP 4 tutorial by
Alexander Hulpke
at ISSAC 2000 at
St Andrews.
Handout provided for the participants. Available in
PDF.

Eight GAP lessons by
Peter Webb,
University of Minnesota,
covering Permutation Groups, Matrices, Finite Fields and Matrix Groups,
Groups given by Presentations, Stabilizer chains, Coset Enumeration.

Uma Introducao ao GAP
An introduction to GAP (in Portuguese) by
Manuel Delgado,
University of Porto.
An introduction to using GAP to study automata
and semigroups.

A Brief GAP Guidebook in Russian
contributed by
Alexander Konovalov
. Alexander has also
written an explanation how to create new objects in GAP using the example
of circle
multiplication.
Elementary Accounts for Learning GAP 3.

Computers in Group theory  An introduction to GAP.
A talk on computational group theory, focussing on GAP 3,
with two advanced examples. Delivered by
Alexander Hulpke
at Rennes, April 1996. Available in
LaTeX,
DVI, and
PostScript.

An Introduction to GAP 3.
A two hour introduction for beginners by
Steve Linton
,
delivered at the workshop "Nilpotent and Soluble Quotient Methods" in
Trento, Italy, June 1997. Available in
LaTeX,
DVI, and
PostScript.

An introduction to groups,
in particular finite soluble groups, in GAP 3.
Slides to talks by Bettina Eick
at the conference `Methods of computer algebra in finite geometry' in
Caserta, Italy, November 1997.
More Specialized Materials
