Automate the Boring Stuff with Python: Practical Programming for Total Beginners
About This Book
If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?
In Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required. Once you’ve mastered the basics of programming, you’ll create Python programs that effortlessly perform useful and impressive feats of automation to:
–Search for text in a file or across multiple files
–Create, update, move, and rename files and folders
–Search the Web and download online content
–Update and format data in Excel spreadsheets of any size
–Split, merge, watermark, and encrypt PDFs
–Send reminder emails and text notifications
–Fill out online forms
Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.
Automate the Boring Stuff With Python:
https://automatetheboringstuff.com/ - Full book Online
Automate The Boring Stuff With Python:
Automate the Boring Stuff with Python: Practical Programming for Total Beginners https://www.amazon.com/dp/1593275994/ref=cm_sw_r_cp_api_i_mj8cDb7NNC29X
Wow this book looks really fun! God dang!
Hey stranger, don’t get discouraged. Everyone starts somewhere! I would highly recommend no starch press publications. They are straight forward and get you coding quickly.
Best for beginners: 1, Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming https://www.amazon.com/dp/B07J4521M3/ref=cm_sw_r_cp_api_i_s2u-CbEMVY59C
I feel that your degree is technical enough for you to forgo boot camp training. Do you have any experience programming on your own? I would suggest spending a few months learning to code on the side, build up a portfolio with some interesting projects, and that combined with your degree would be enough to land you an internship or entry-level job.
Some good places to start include:
Automate the Boring Stuff with Python for a basic intro to programming (free online)
Codecademy HTML and CSS to give you a quick intro to the basics of websites
After that, there's a variety of stuff you can focus on, but you will have a good fundamental grasp of the very basics. You should pick a project idea and finish it to completion. Things like a personal web page are good starting points. You can then build more stuff and share it on your web page. At some point you need to learn version control (shameless plug for my Git totrial).
Eventually you will have to conquer algorithms and need to check out Cracking the Coding Interview. Passing the shitty whiteboarding interview questions comes with the territory, unfortunately. MIT has a lot of good free courses to help bring you up to speed.
Hope that helps! Just keep learning and creating. Don't get stuck in "tutorial limbo", where you just keep learning but never make anything!
This is the best advice here. A coding bootcamp may give you a credential that's worth the price, but the real capability is from your own work/studying/interest. And that stuff can be done for almost free. I really liked Automate the Boring Stuff -- a Python book that provides some powerful tools very quickly.
The bootcamp will be 100x more valuable if you attend already able to code.
Automate the Boring Stuff with Python
There isn't a way to learn to code faster, the best thing you can do is code every day. And I mean EVERY day. IMO Python will open the most doors. you may need to pick up other things along the way but Python is a good base.
to put this machine to good use i suggest adding a python book as a birthday present, "Automate the Boring Stuff with Python".
subprocessis a standard library (i.e. "baked in" to Python).
pexpectis a separate install, but not at all painful. For my own reasons, I'm installing it the hardest possible way and it's literally 3 commands.
If this is something you want to mess with, check out Automate the Boring Stuff.
Current versions on Amazon
Automate: Python 3
Violent: Python 2
Master: Python 2 & 3
Automate had a nice chart from the publishers, but the latter two were easy to verify based on date released, reviews, and using Look Inside to read the table of contents and/or parts of chapters.
I keep recommending this book to people, and think it’s right up your alley:
Automate the Boring Stuff with Python: Practical Programming for Total Beginners https://www.amazon.com/dp/1593275994/
I love programming and have been doing it for almost 20 years semi- or fully-professionally. I still love the hell out of it even all these years later. I’d even say this is the best time ever to get into it.
For anyone looking for general book suggestions, I always recommend they go with the classics:
EDIT: Updated with some more books I forgot initially, and links to the latest versions
But How Do It Know? - The Basic Principles of Computers for Everyone
The Elements of Computing Systems: Building a Modern Computer from First Principles
Code: The Hidden Language of Computer Hardware and Software
Gödel, Escher, Bach: An Eternal Golden Braid
The New Turing Omnibus: Sixty-Six Excursions in Computer Science
Compilers: Principles, Techniques, and Tools, 2nd Edition (aka The Dragon Book)
The Art of Computer Programming
Algorithms, 4th Edition
Introduction to Algorithms, 3rd Edition
Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People
Structure and Interpretation of Computer Programs, 2nd Edition (aka SICP, available for free on the MIT website)
Discrete Mathematics with Applications, 4th Edition
Design Patterns: Elements of Reusable Object-Oriented Software (aka The Gang of Four)
Think Like a Programmer: An Introduction to Creative Problem Solving
The Pragmatic Programmer: From Journeyman to Master
The Mythical Man-Month: Essays on Software Engineering
Code Complete: A Practical Handbook of Software Construction, 2nd Edition
The Design of Everyday Things
Clean Code: A Handbook of Agile Software Craftsmanship
Programming Pearls, 2nd Edition
Soft Skills: The Software Developer's Life Manual
Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams
Hacker's Delight, 2nd Edition
Peopleware: Productive Projects and Teams, 3rd Edition
The Soul of a New Machine
Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture
Hackers: Heroes of the Computer Revolution
Where Wizards Stay Up Late: The Origins Of The Internet
Fire in the Valley: The Birth and Death of the Personal Computer, 3rd Edition
Cracking the Coding Interview: 189 Programming Questions and Solutions, 6th Edition
The Complete Software Developer's Career Guide: How to Learn Programming Languages Quickly, Ace Your Programming Interview, and Land Your Software Developer Dream Job
The Self-Taught Programmer: The Definitive Guide to Programming Professionally
The Passionate Programmer: Creating a Remarkable Career in Software Development
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
Python Crash Course: A Hands-On, Project-Based Introduction to Programming
Python Programming: An Introduction to Computer Science, 3rd Edition
Effective Python: 59 Specific Ways to Write Better Python
The C++ Programming Language, 4th Edition
Starting Out with C++: from Control Structures to Objects, 9th Edition
Introduction to Java Programming and Data Structures: Comprehensive Version, 11th Edition
Java: A Beginner's Guide
Java: The Complete Reference, 10th Edition
Core Java Volume I - Fundamentals, 11th Edition
Starting Out with Java: From Control Structures through Objects, 6th Edition
Effective Java, 3rd Edition
Linux Shell Scripts
The Linux Command Line: A Complete Introduction
Wicked Cool Shell Scripts: 101 Scripts for Linux, OS X, and UNIX Systems, 2nd Edition
Linux Command Line and Shell Scripting Bible
Mastering Linux Shell Scripting
HTML and CSS: Design and Build Websites
You Don't Know JS: Up & Going
Ruby and Rails
Ruby on Rails Tutorial: Learn Web Development with Rails, 4th Edition (Note: this book is somewhat out of date compared to the free live version on the author's website.)
The Well Grounded Rubyist, 3rd Edition
Practical Object-Oriented Design in Ruby: An Agile Primer
Agile Web Development with Rails 5.1
Programming Ruby 1.9 & 2.0: The Pragmatic Programmers' Guide, 4th Edition
I think the other suggestions are fun, but if he’s serious about learning computer science, programming needs to become second nature.
I recommend this excellent intro book:
Python Crash Course: A Hands-On, Project-Based Introduction to Programming https://toptalkedbooks.com/amzn/1593276036
Automate the Boring Stuff with Python: Practical Programming for Total Beginners https://toptalkedbooks.com/amzn/1593275994
If he already knows how to program, go for a more advanced book. Getting a degree in CS means you’ve got to be able to follow a textbook. CS is also a lot of math and theory. The engineering, like using an Arduino, is more of the application of CS.
Also worth checking out if he enjoys history:
The Chip : How Two Americans Invented the Microchip and Launched a Revolution https://toptalkedbooks.com/amzn/0375758283
automate the boring stuff with python:
Pick up the book “Automate the boring stuff”
Free Online Version
And steal a project from there. The draw of python is you can make something useful fairly early on in the learning process.
Edit: I’de go with web scraping. Providing everyone with how to implement the shell functionality described in the book, and see what they come up with as far as a useful web scraper as your open ended requirement.
I know you said classes so this may not fit what you're looking for, but I'd recommend the book Automate the Boring Stuff with Python . There's a site with the content free here. I used this book to help me first learn Python and come up with some little sub 20 line scripts to help me automate work tasks.
Also check out /r/learnpython, they're a cool community.
Automate the Boring stuff with Python is a pretty good book that covers some basics of things and gets the creative juices flowing. They also have one for Powershell .
The other book that I found really interesting was Practical Packet Analysis . It really opened my eyes to the power of wireshark.
And enough can't be said for Phoenix Project. Really interesting read that explains it in a real world like scenario instead of just a White Paper of how to do stuff. Above all else...avoid being a Brent.