|Invent with python 'Teach yourself how to program by making computer games!' is a free book now in its second edition. It is released under the creative commons licence Attribution-Noncommercial-Share Alike 3.0 United States - and the author just asks for a donation if you liked reading it.|
The book takes the fun approach of teaching programming through making games... the way many of us learnt(and are still learning) to program.
As a bonus it uses python 3 - which pygame has supported for a while.
Congratulations to Albert Sweigart for finishing his second edition of the book.