Learning Python in 7,832 easy steps…

By | July 1, 2020

So I’m also trying to learn a bit about programming & I’ve decided to start with Python.  I did some Java back in college and I can do a little powershell scripting, but I’m basically starting from scratch.  Here’s the list of things I’ve done so far, ranked by efficacy.

Edit: I’ve gone back through and scrubbed all of the Python 2 information from this list.

  1. The Udemy class The Modern Python 3 Bootcamp by Colt Steele is my favorite Python class! At $10.99 it’s (potentially) the most expensive thing on this list but it is WELL WORTH IT. The in-course examples make you implement the topics you just learned & the on-line help is excellent.
  2. Coursera’s Programming for Everybody (Python) class.  This is hands down the best MOOC I found out there, it gives you a great basic-to-intermediate overview of programming.
  3. Al Sweigart has published a lot of really good beginner material on his website Invent with Python.
  4. Beginner books (request: Please buy directly from the publisher. That way the authors get the largest cut of the proceeds of sales. No they didn’t pay me to say this 🙂 )
    1. Python Crash Course by Eric Matthes – this is my favorite book for a number of reasons.
      1. It’s laid out in a very concise manner and you can quickly flip to a section where you need help.
      2. The projects at the end are engaging and interesting
      3. The pdf quicksheet provided is a great reference
      4. Eric Matthes is perhaps one of the best humans out there 🙂
    2. Automate the Boring Stuff by Al Sweigart – this book is perfect for us office dwellers who want to do exactly what the title says.
  5. Intermediate books
    1. I LOVE Python for DevOps by Gift, Behrman, Deza & Gheorghiu. It’s a intermediate/advanced Python book that also gets into Linux, Containers, CI/CD, Kubernetes, Infrastructure as Code, Serverless, and automated testing. It’s NOT for beginners or those that just want to automate an excel spreadsheet 🙂
    2. Impractical Python Projects by Lee Vaughan – this is a fantastic “second book” once you’ve done the Colt Steele class AND the Eric Matthes book 🙂
    3. Python Playground: Geeky Projects for the Curious Programmer by Mahesh Venkitachalam – very fun projects (especially if you have a Pi or Arduino!) of varying degrees of difficulty
    4. Python Network Programming Cookbook – this is a book of programs to help you if you spend your days not only programming but also working with network related tasks & issues.
  6. Sites that I use regularly:
    1. I listen to Mike Kennedy’s Talk Python To Me podcast regularly. When I first started I didn’t know what 1 in 5 words meant… but I got better just from listening and getting exposed to new topics.
    2. Real Python – great tutorials and examples
    3. I honestly go back and re-watch the vBrownBag Python series that I recorded. Tons of good content (except the 1st episode 😉 )
    4. There is a LOT of good Python content in Dev.to 
    5. PythonProgramming.Net is another great site, and I’m doing the Python controlled robot project.  I’ve got the GoPiGo up and running using keyboard controls (WASD), now I need to:
      1. Set the camera up for remote viewing
      2. Connect the nerf rocket launcher
      3. Automate the GoPiGo so that it has a “Patrol Mode”
      4. Start playing with the facial recognition stuff

Before:

20160213_192647

After!

20160213_232324

PEWPEW!

If you have any other “must have” recommendations for learning programming in general or Python in specific let me know in the comments 🙂