Programming 101

A practical guide to learning Python.

Posted by Abhi Desai on July 19, 2016

Table of Contents


There is a fundamental problem with the way people are introduced to programming.

Until recently, children and adults alike were subjected to a very standard way of learning most any programming:

  • Take a programming class in which they would:

    • Learn an enormous amount of syntax and/or object-oriented principles to be able to even parse code written in the likes of Java or BASIC or C(++).
    • Learn what a for loop is, and do a dozen incredibly basic problems with for loops.
    • Learn what a while loop is, and do a dozen incredibly basic problems with while loops.
    • Etc, ad nauseum.

I think this turns people off to programming from the start: students begin to think programming is inherently complex and difficult, or that its a useless tool for them since they don’t intend to be “programmers” since they are only taught to use it in an abstract fashion.

This is objectively false. In modern times, computers are a critcal tool across the board regardless of what profession a person pursues.

Therefore, learning to program - that is, learning to interface in a complex way with the machine - is a critical and invaluable skillset.

I like Python a lot, for reasons that will become apparent by the time you finish this article.

Everyone should learn to code, but not everyone needs to become a software engineer or computer scientist. Automate the Boring Stuff with Python is written for office workers, students, administrators, and anyone who uses a computer to learn how to code small, practical programs to automate tasks on their computer.

  • Have a folder with thousands of files that need to be renamed?
  • Need to look through thousands of rows in an Excel spreadsheet looking for ones to update?
  • Have to pull text off of several web pages?
  • Want to copy the data from hundreds of PDFs?
  • Have any tedious computer task that you wish you had an intern for?

Normally this would involve hours of mindless clicking and typing. But programming your computer to do it will save you time and effort.

How to Learn Python

Automate the Boring Stuff is the best book for learning Python that is freely available on the Internet. It is a “practical programming guide for the rest of us”.

Finish all the chapters, even if they don’t seem important to you and your tasks right now. They each teach you valuable skills about interacting with different systems in your computer.

Practice Problems

Early on, use CodingBat.

Later, move on to ProjectEuler.