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.
- 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.
- 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.
- Al Sweigart has published a lot of really good beginner material on his website Invent with Python.
- 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 🙂 )
- Python Crash Course by Eric Matthes – this is my favorite book for a number of reasons.
- It’s laid out in a very concise manner and you can quickly flip to a section where you need help.
- The projects at the end are engaging and interesting
- The pdf quicksheet provided is a great reference
- Eric Matthes is perhaps one of the best humans out there 🙂
- Automate the Boring Stuff by Al Sweigart – this book is perfect for us office dwellers who want to do exactly what the title says.
- Python Crash Course by Eric Matthes – this is my favorite book for a number of reasons.
- Intermediate books
- 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 🙂
- 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 🙂
- 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
- 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.
- Sites that I use regularly:
- 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.
- Real Python – great tutorials and examples
- I honestly go back and re-watch the vBrownBag Python series that I recorded. Tons of good content (except the 1st episode 😉 )
- There is a LOT of good Python content in Dev.to
- 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:
- Set the camera up for remote viewing
- Connect the nerf rocket launcher
- Automate the GoPiGo so that it has a “Patrol Mode”
- Start playing with the facial recognition stuff
Before:
After!
PEWPEW!
If you have any other “must have” recommendations for learning programming in general or Python in specific let me know in the comments 🙂