## Learning

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 stand-alone 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 Olexandr 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 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.

- Olexandr Konovalov has written an explanation how to create new objects in GAP using the example of circle multiplication.
- GAP - bardzo krótkie wprowadzenie (a brief introduction to GAP in Polish) by Rafał Lutowski (University of Gdańsk, Poland).

### More Specialized Materials

- The GAP 4 Type System: Organising Algebraic Algorithms. A paper by Thomas Breuer and Steve Linton, accepted for ISSAC (International Symposium on Symbolic and Algebraic Computation) 1998 at Rostock.
- Talks from the First CoDiMa Training School in Computational Discrete Mathematics (Manchester, November 2015).
- Talks from the Second CoDiMa Training School in Computational Discrete Mathematics (Edinburgh, October 2016).