Al Sweigart's tumblr

Short blog posts on my random ideas and thoughts.

Aug 15

Book Idea: “Automate the Boring Stuff: A Guide to Python Programming for Non-Experts”

I’m writing a a Python programming book for complete beginners that teaches just enough programming to be able to automate tasks on your computer. I’m thinking about what repetitive task that office workers or students do that a computer program could do for them. Tentative title would be: ”Automate the Boring Stuff: A Guide to Python Programming for Non-Experts”

4/10/2014 UPDATE: I’m working on this book now to be published with No Starch Press. Hopefully it’ll be done by the end of summer 2014. The first part of the book covers basic programming concepts, and the rest of the book has chapters around using Python modules to do interesting stuff. The chapters look like they’ll be:

Chapter 0: Introduction - Installing Python, What is Programming? etc.

Chapter 1: Python Basics - Interactive shell and basic programming concepts.

Chapter 2: Flow Control - if/else, loops, etc.

Chapter 3: Functions - Writing your own functions

Chapter 4: Lists - All about the list data type.

Chapter 5: Dictionaries - All about the dictionary data type.

Chapter 6: Manipulating Strings - String methods and advanced string stuff.

Chapter 7: Pattern Matching with Regular Expressions

Chapter 8: Reading and Writing Files - file i/o concepts and using the shelve module to store Python data

Chapter 9: Working with FIles - Using Python to copy/move/rename/delete files, and also working with zip files.

Chapter 10: Debugging - Debugging and other techniques to find and fix bugs in your program.

Chapter 11: Web Scraping - Downloading websites and automating web browser tasks.

Chapter 12: Working with Excel Files - Programmatically updating Excel spreadhseets.

Chapter 13: Working with Word, PDF Documents

Chapter 14: Working with JSON and CSV Data

Chapter 15: Time. Scheduling, and Launching Programs - The time and schedule module, cron jobs & scheduled tasks, and how to run other programs from a Python script.

Chapter 16: Sending Email and Text Messages - Using the Twilio API to send texts and also send out notification emails.

Chapter 17: Image Manipulation - Using the pillow module to programmatically manipulate images.

Chapter 18: Keyboard and Mouse Macros - Programmatically controlling the keyboard and mouse.

Any thoughts or suggestions? I’m looking for tasks that the typical office worker might have to perform as part of their job.


  1. alsweigart posted this