Which resources are available to self-study GAP? Background: This year I'll do another Group Theory course ( Open University M336 ). In the past I have used Mathematica's AbstractAlgebra package but (although visually appealing ) this is no longer sufficient (i.e. listing subgroups of $S_4$ takes ages). So, I want to learn more about GAP. I worked through beginner tutorials that I found via the GAP website. Currently, I am not making much progress with GAP. The reference manual does not help me much at this stage.
Question: Which resources are available to self-study GAP? How does one become proficient in GAP? What ( books, tutorials ) should you study?
 A: A book called "Computer Algebra Handbook" by Grabmeier, Kaltofen and Weispfenning (eds.) (2003) includes some advanced topics in group theory and examples of code that you can use with GAP. 
In particular, this book has chapters:


*

*"Computational Group Theory" by Charles Sims

*"Algorithms of Representation Theory" by Gerhard Hiss

*"Computer Algebra in Group Theory" by Gerhard Hiss


and also a 6 pages long section on GAP by Thomas Breuer and Alexander Hulpke, referring to GAP 4.2 (March 2000) which was the current version at the time of writing. I did not find any examples of the GAP code in the book, but I have no accompanying CD which might contain some. Anyhow, for code examples I'd suggest to use more modern sources.
Another interesting book is "Handbook of Computational Group Theory" by Derek F. Holt, Bettina Eick and Eamonn A. O'Brien.
A: In addition to some answers given in comments to this question (cf. http://meta.math.stackexchange.com/questions/1559/dealing-with-answers-in-comments?), let me add that the following.
The Learning GAP section of the GAP website contains "a variety of material intended to help people to learn on their own the GAP language and the use of the GAP system". 
Various tutorials, including the GAP Tutorial, are a good point to start, indeed. As for the reference manual, it is not assumed that one should read all its chapters sequentially. To start with, it may be worth to look at chapter titles to have a better idea of capabilities of the core GAP system, and look in more details on chapters which are most relevant to your current mathematical interests. Note that a lot of the functionality is contained in GAP packages which are developed independently and come with their own documentation.
It is also recommended to subscribe to the GAP Forum where you may find not only news about the GAP 
system, but also discussions and questions from other users. Reading these may provide further insight into the system. Finally, if there are any questions, please do not hesitate to send them to the GAP Forum or GAP Support.

Update 1: I’ve recently developed the Software Carpentry lesson "Programming with GAP". This lesson is intended for GAP beginners. It is suitable for self-study, and has been taught at various events, such as at training schools in discrete computational mathematics, organised by the CoDiMa project in 2015 and 2016 (see more slides from these events here), Groups St Andrews 2017 in Birmingham, PGTC 2018 and "GAP in Algebraic Research" (2018).

Update 2: This book has been mentioned in the comment above, but should be made more visible: Abstract Algebra in GAP by Alexander Hulpke. From its preface: "This book aims to give an introduction to using GAP with material appropriate for an undergraduate
abstract algebra course. It does not even attempt to give an introduction to abstract algebra —there
are many excellent books which do this.
Instead it is aimed at the instructor of an introductory algebra course, who wants to incorporate
the use of GAP into this course as an calculatory aid to exploration".
