By Al Sweigart (438 pages)
Invent Your Own Computer Games with Python teaches you how to program by making video games. Each chapter gives you the complete source code for a new game and teaches the programming concepts from these examples. Invent with Python was written to be understandable by kids as young as 10 to 12 years old, although it is suitable for any age.
This second edition has revised and expanded content, including using the Pygame library to make games with graphics, animation, and sound.
The book focuses on three different areas:
The programs in the book use Python 3.
The book is available under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 license.
By Jason R. Briggs (160 pages)
Snake Wrangling for Kids is a printable electronic book, for children 8 years and older, who would like to learn computer programming. It covers the very basics of programming, and uses the Python 3 programming language to teach the concepts.
There are 3 different versions of the free book (one for Mac, one for Linux and one for Windows). It has been rewritten and updated, with new chapters (including developing graphical games), and new code examples
This version is licensed under the Creative Commons license.
By Sean M. Tracey (154 pages)
Make Games with Python is published under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License (CC BY-NC-SA 3.0).
By Al Sweigart (366 pages)
This book teaches you how to make graphical computer games in the Python programming language using the Pygame library. It is targeted at the intermediate programmer.
The book features the source code to 11 games. Each chapter focuses on a single game program, explaining how different parts of the code work. The games are clones of classics such as Nibbles, Tetris, Simon, Bejeweled, Othello, Ink Spill, Connect Four, Flood It, and others. The programs are less than 600 lines long.
The book and the programs are available under a Creative Commons Attribution-Noncommercial-Share Alike license.
By Steven Bird, Ewan Klein, Edward Loper (500 pages)
Natural Language Processing with Python offers a highly accessible introduction to natural language processing, the field that supports a variety of language technologies, from predictive text and email filtering to automatic summarization and translation.
Learn how to write Python programs that work with large collections of unstructured text. Access richly annotated datasets using a comprehensive range of linguistic data structures, and understand the main algorithms for analyzing the content and structure of written communication.
The book is updated for Python 3 and NLTK 3.
This book helps to:
This book is made available under the terms of the Creative Commons Attribution Noncommercial No-Derivative-Works 3.0 US License.
By Bradley M. Kuhn (66 pages)
This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum.
The objectives of this book are:
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version.
By Allen B. Downey (164 pages)
Think DSP is an introduction to Digital Signal Processing in Python and includes processes for synthesizing, transforming, and analyzing signals. All of the code is written to work in both Python 2 and Python 3 with no translation.
Permission is granted to copy, distribute, and/or modify this book under the terms of the Creative Commons Attribution-NonCommercial 3.0 Unported License.
By Charles Severance (242 pages)
The goal of this book is to provide an Informatics-oriented introduction to programming. The primary difference between a computer science approach and the Informatics approach taken in this book is a greater focus on using Python to solve data analysis problems common in the world of Informatics.
The book is available to download in PDF, EPUB and HTML in a ZIP file. You can purchase a printed copy and a Kindle edition is also available.
There is also a Python 2 version available.
This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License.
By Al Sweigart (436 pages)
Hacking Secret Ciphers with Python teaches complete beginners how to write cipher programs and hacking programs that can break encrypted messages from these ciphers, using Python programming language.
The book features the source code to several ciphers and hacking programs for these ciphers. The programs include the Caesar cipher, transposition cipher, simple substitution cipher, multiplicative & affine ciphers, Vigenere cipher, and hacking programs for each of these ciphers. The final chapters cover the modern RSA cipher and public key cryptography.
Hacking Secret Ciphers with Python is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.