Learn how to program with Python from beginning to end. My book is made primarily for beginners. However, at least two-thirds of it is aimed at intermediate programmers. You may be wondering how that works. The book will be split into four parts.
Third Stretch Goal ($25,000 or 2500 backers):
If we reach $25k in funding or 2500 backers, then I'll release the book as a website, but with a copyright. If we get significantly higher than that, then I will consider releasing the website contents under Creative Commons instead.
Second Stretch Goal (1500 backers):
If we can reach 1500 backers, then I'm going to create some companion screencasts to go with the book. These screencasts wouldn't be done in time to launch with the book and probably won't cover every single chapter, so I would just release them during the summer and fill in the blanks according to the feedback I receive. Also I plan to release the screencasts for anyone, probably by publishing them on Youtube.
First Stretch Goal ($10,000):
Add a 5th section to the book that's only on intermediate topics. It will cover the following:
The first part is the beginner section. In it you will learn all the basics of Python. From Python types (strings, lists, dictionaries) to conditional statements to loops. You will also learn about comprehensions, functions and classes and everything in between! Note: This section has been completed and is in the editing phase.
This section will be a curated tour of the Python Standard Library. The intent isn't to cover everything in it, but instead it is to show the reader that you can do a lot with Python right out of the box. We'll be covering the modules I find the most useful in day-to-day programming tasks, such as os, sys, logging, threads, and more.
Now things get really interesting! In part three, we will be learning how to install 3rd party libraries (i.e. packages) from the Python Package Index and other locations. We will cover easy_install and pip. This section will also be a series of tutorials where you will learn how to use the packages you download. For example, you will learn how to download a file, parse XML, use an Object Relational Mapper to work with a database, etc.
The last section of the book will cover how to share your code with your friends and the world! You will learn how to package it up and share it on the Python Package Index (i.e. how to create an egg or wheel). You will also learn how to create executables using py2exe, bb_freeze, cx_freeze and PyInstaller. Finally you will learn how to create an installer using Inno Setup.
This book will be written using my original blogging style. This means that the chapters will be shorter than your usual programming textbook. Most chapters will most likely be less than 10 pages! The idea here is to get the reader up to speed on the subject, not to beat them over the head with it.
Who should read this book?
This book is for beginners, but I believe people with intermediate skills will also find its contents valuable.
What's the money for?
I need to buy an ISBN for every version of the book, so if I have different eBook formats, the money starts to add up. I have a volunteer editor that I would like to pay. I'm also planning to hire an illustrator to add some artwork to the pages of the book. I'm looking forward to working with my backers to make the best Python book possible!
About the Author
I'm a professional full time Python programmer by day and Python blogger by night. I've been programming almost exclusively in Python for almost 8 years. I write for the Python Software Foundation from time to time. I also write articles for DZone and i-programmer every now and then. Recently I co-authored Core Python for DZone
Risks and challenges
Working full time and trying to write a book is probably my biggest hurdle. However, I am committed to getting the book finished on time. If a setback arises, I will let all my backers know as soon as I can.
Secondly, writing a full length book is new to me. So I will be in contact with other authors and on-demand publishers to make sure I can get everything done by the launch date.Learn about accountability on Kickstarter
- (30 days)