Share this project


Share this project

Practical Python: Learn programming for the real world!'s video poster

An e-book to teach programming through hands-on, interesting examples that are useful and fun! Read more

Washington, DC Software
Share this project
pledged of $800 goal
seconds to go


This project was successfully funded on August 19, 2012.

An e-book to teach programming through hands-on, interesting examples that are useful and fun!

Washington, DC Software
Share this project

About this project

Python is a great programming language. It's free, powerful, easier to read than most languages, and has extensions available to do almost anything you could imagine automatically.

But how do you actually use it? There are tons of resources out there for learning Python, but none of them are very practical or interesting - instead, they go over each concept one by one, never tying anything together, but spending plenty of time lost in technical language, discussing the twenty different ways to accomplish each basic task...

I want to write an e-book that finally gives a concise introduction to everything you might actually want to do with Python.

We'll start with a quick but thorough overview of all the basics, so you don't even need any prior experience with programming. But the majority of the book will be spent building up example code to solve interesting real-world problems.

Python is fantastic for automating repetitive tasks that might otherwise take you hours - for instance, quickly gathering data from the web, or renaming hundreds of files. Some of the topics that I'm planning to cover:

  • Collecting data from webpages (web scraping)
  • Interacting with PDF files - reading data, creating PDFs, modifying pages, adding passwords...
  • Interacting with Excel files (less functionality in OS X)
  • Calling other outside programs from within Python
  • Files - read/write/modify, unzip, rename, move, etc.
  • Basic game development
  • Interacting with SQL databases (internal and ODBC connections)
  • GUI (Graphical User Interface) design - creating simple point-and-click programs that anyone can use
  • Any other topics that you, my backers, are most interested in!
  • Update: by popular demand, I'll be adding web application development

Be sure to take the two-question survey at to let me know what topics you want to learn most, so that I can really focus on the most relevant information as I continue to build up the course.

This is more than just an e-book; this is a full course that will include sample exercises and answer scripts to make sure that you can implement the concepts in practical ways on your own. I'll even include test files for practice - webpages for data scraping, PDFs to read and modify, etc... And anyone who gets the e-book via this Kickstarter will get free updates for life if I make any changes or additions to the course.

It's time to learn real programming!


  • The course will be accessible to all experience levels. If you already have some knowledge of Python or similar languages, you can probably breeze through the first couple chapters and quickly get to the real meat - but if you have no idea what you're doing yet, don't worry! We'll walk through everything from the beginning.

    Last updated:
  • I'm writing for Python 2.7 since this is what most of the rest of the world uses. However, the differences are very minimal! Once you've mastered 2.7, it will take you all of 15 minutes to readjust to Python 3 (if you ever need to). There are a lot of popular extensions out there that aren't available for Python 3, and Python 3 isn't back-compatible with prior versions, nor does it really offer any added functionality, which is why it never caught on.

    For those of you who care about performance, Python 3 is also significantly slower.

    Last updated:
  • If it's a topic that would appeal to most of you and isn't overly complex to introduce, I'll do my best. However, I still want to create a concise introduction that's easy to follow, not a tome full of tidbits that are impossible to digest, so not everything will make the cut. I've already gotten hundreds of specific requests, which is great - keep sending them! It helps me to gauge overall preferences and interest in different areas, and it never hurts to ask... Some new topics have been added already!

    Last updated:
  • You can now pre-order the e-book for just $12 to receive a copy as soon as it is available to the general public in early October.

    If you're not quite ready to order yet, join the notification list to hear as soon as the course is available!

    Last updated:
  • In addition to the PDF book, I'm planning to make EPUB and MOBI versions available for those who really want them. However, I highly recommend using the PDF copy - the formatting will be clearer, any external links will be easier to access, and this is a hands-on course that you'll get the most out of while working at a "real" computer!

    Last updated:
  • The e-book and sample code will both be creative commons licensed (separately, so that the code may be modified and used commercially).

    Last updated:


  • You selected
    Pledge $1 or more

    16 backers

    Your name will appear in the e-book as a backer and you will stay informed with backers' updates throughout the Kickstarter.

    Estimated delivery:
  • You selected
    Pledge $5 or more

    2 backers

    Receive copies of all sample scripts used in the book, free for you to use and modify in any way as long as you credit the source!

    Estimated delivery:
  • You selected
    Pledge $8 or more

    5 backers All gone!

    Early backer price! Receive a PDF copy of the e-book, answers to the programming exercises, and all accompanying files. Free updates for life!

    Estimated delivery:
  • You selected
    Pledge $10 or more

    1,967 backers

    Receive a PDF copy of the e-book, answers to the programming exercises, and all accompanying files. Free updates for life!

    Estimated delivery:
  • You selected
    Pledge $70 or more

    15 backers All gone!

    All the above resources, plus one hour of consultation via Skype or Google Chat to help with your Python project or personal skill development.

    Estimated delivery:

Funding period

- (20 days)