Automate Course

Tags: Python

A practical programming course for office workers, academics, and administrators who want to improve their productivity.

Last updated 2022-01-10 | 4.6

- Automate tasks on their computer by writing simple Python programs.
- Write programs that can do text pattern recognition with "regular expressions".
- Programmatically generate and update Excel spreadsheets.

What you'll learn

Automate tasks on their computer by writing simple Python programs.
Write programs that can do text pattern recognition with "regular expressions".
Programmatically generate and update Excel spreadsheets.
Parse PDFs and Word documents.
Crawl web sites and pull information from online sources.
Write programs that send out email notifications.
Use Python's debugging tools to quickly figure out bugs in your code.
Programmatically control the mouse and keyboard to click and type for you.

* Requirements

* No programming experience is required.
* Downloading and installing Python is covered at the start of the course.
* Basic computer skills: surfing websites
* running programs
* saving and opening documents
* etc.

Description

If you're an office worker, student, administrator, or just want to become more productive with your computer, programming will allow you write code that can automate tedious tasks. This course follows the popular (and free!) book, Automate the Boring Stuff with Python.

Automate the Boring Stuff with Python was written for people who want to get up to speed writing small programs that do practical tasks as soon as possible. You don't need to know sorting algorithms or object-oriented programming, so this course skips all the computer science and concentrates on writing code that gets stuff done.

This course is for complete beginners and covers the popular Python programming language. You'll learn basic concepts as well as:

  • Web scraping
  • Parsing PDFs and Excel spreadsheets
  • Automating the keyboard and mouse
  • Sending emails and texts
  • And several other practical topics

By the end of this course, you'll be able to write code that not only dramatically increases your productivity, but also be able to list this fun and creative skill on your resume.

Who this course is for:

  • Office workers, students, small/home business workers, and administrators would want to improve their productivity.
  • Aspiring software engineers who want to add skills to their programming toolbelt.
  • Computer users who have heard the "learn to code" message, but want practical reasons to learn programming.
  • Experienced Python software engineers can skip the first half of the course, but may find the later parts that cover various third-party modules helpful.
  • While this course doesn't cover specific devops tools, this course would be useful for QA, devops, and admins who want to learn scripting in Python.

Course content

16 sections • 52 lectures

Get Python Installed Preview 05:39

This lecture explains what programming is good for, even if you don't intend to become a software engineer. At the end of this lecture, you'll be able to download and install Python and be ready to learn to code.

Just a check in.

This quiz is here just to ensure you know about the website where you can find the Automate the Boring Stuff with Python book for free: https://automatetheboringstuff.com.

You don't need to purchase the book, and you can read it online if you want more information on the topics in this course.

Basic Terminology and Using IDLE Preview 10:51

The student will learn how to put values and operators together to form expressions, the most basic instruction type in Python.

Writing Our First Program Preview 10:02

Now that you've done some basic instructions in the interactive shell, let's use the file editor to write a complete program.

Flow Charts and Basic Flow Control Concepts Preview 07:36

You've made Python execute instructions, now learn how to make Python choose which instructions to execute.

If, Else, and Elif Statements Preview 10:48

The if/else statements are the basic instruction for letting your Python programs make decisions.

While Loops Preview 09:37

Loops allow your program to execute the same code over and over again.

For Loops Preview 07:08

The while loop will execute the same code over and over as long as some condition is true, but for loops allow you to execute a set number of iterations of a loop.

Python's Built-In Functions Preview 06:19

You don't have to write every bit of code yourself. Python comes with several functions that your program can call to leverage the code that others have written.

Writing Your Own Functions Preview 12:20

You aren't limited to the functions that come with Python. You can define your own functions using the def statement. Grouping code into functions helps make your programs shorter and easier to debug.

Global and Local Scopes Preview 11:54

Functions also introduce the concept of scopes. Learn the difference between global scope and local scopes for variables.

Try and Except Statements Preview 07:27

Instead of crashing, you can have your programs gracefully handle errors as they come up.

Writing a "Guess the Number" Program Preview 12:09

You've learned several basic programming concepts. Let's apply them to make a simple "Guess the Number" game.

The List Data Type Preview 13:07

Lists are values that themselves can contain multiple values. Learn how lists can expand your programs' capabilities.

For Loops with Lists, Multiple Assignment, and Augmented Operators Preview 09:12

There are several instructions that can be used with lists. This lecture introduces multiple assignment and revisits for loops.

List Methods Preview 11:06

You don't have to write basic operations from scratch. Instead, learn about the methods that the list data type already comes with.

Similarities Between Lists and Strings Preview 16:04

Most of the things you've learned about lists also apply to strings. Two for one!

The Dictionary Data Type Preview 19:22

Dictionaries also can contain multiple values. By using key-value pairs, you can begin to organize large amounts of data.

Data Structures Preview 10:41

Dictionaries and lists can contain multiple values, including other dictionaries and lists. Combining them together you can organize your data into data structures.

Advanced String Syntax Preview 08:38

There's much more to strings than concatenating and printing them. This lecture covers the other ways that strings can be represented in your Python code and why you would use these alternate forms.

String Methods Preview 18:39

There are lots of useful and common things you'll want to do with strings, but you don't have to write the code to do them yourself. Python comes with string methods for many basic operations.

String Formatting Preview 03:13

String concatenation can become a mess of characters that makes your code hard to read. String formatting offers a simpler way to put strings together.

Launching Python Programs from Outside IDLE Preview 14:03

Once your programs are finished, you won't always want to launch IDLE every time you want to run them. This lecture covers how to create shortcuts for your programs on Windows. Mac and Linux are covered in the course notes.

Regular Expression Basics Preview 13:10

Regular expressions offer a way to not only search for text, but to search for patterns of text. This is a large step in increasing the power of your programs.

Regex Groups and the Pipe Character Preview 06:54

In this lesson, you learn how the pipe regex character allows you to search for one of multiple patterns.

Repetition in Regex Patterns and Greedy/Nongreedy Matching Preview 16:24

In this lesson, you'll learn how to find repeating patterns and know the difference between regular expressions that do greedy-matching and nongreedy-matching.

Regex Character Classes and the findall() Method Preview 14:42

While the familiar search() method returns the first match of the regex's pattern, the findall() method returns all matches of the pattern. This lesson also explores character classes: a handy shortcut for specifying alternatives in regex pattern.

Regex Dot-Star and the Caret/Dollar Characters Preview 17:03

The regex dot-star is a common "catch all" pattern that you can use in your regular expressions. This lesson also explores matching patterns at the start or end of a string.

Regex sub() Method and Verbose Mode Preview 13:18

Regular expressions can not only find text patterns, but can also perform fin-and-replace for text patterns. The sub() method lets us make these text substitutions.

Regex Example Program: A Phone and Email Scraper Preview 19:31

At this point, we'll combine our knowledge of regular expressions to create a script that can pull phone numbers and email addresses out of a document.

Filenames and Absolute/Relative File Paths Preview 19:33

Files are stored in a hierarchical system of folders on your hard drive. In this lesson, you'll learn how to refer to specific files through absolute and relative file paths.

Reading and Writing Plaintext Files Preview 13:27

Python lets you write out text to files and read text in from files. This allows you to have data from your programs persist even after they've shut down.

Copying and Moving Files and Folders Preview 04:40

Python can copy, move, and rename files with your given criteria much faster than you could do this by dragging file icons in a File Explorer program. This lesson covers functions to perform basic file operations.

Deleting Files Preview 07:15

Writing scripts to delete files can be a useful, but dangerous, feature to add to your programs. This lesson teaches you how you can keep bugs in your programs from causing any real damage.

Walking a Directory Tree Preview 08:45

"Walking a directory tree" is performing file operations not just on every file in a folder, but every file in every subfolder of that folder, and every subfolder of those subfolders, and so on. Normally this requires learning about recursion, but Python's os.walk() function makes this easy.

The raise and assert Statements Preview 17:12

Assertions allow you to add "sanity checks" to your code. They won't fix bugs, but they will detect them early on and make the fix easier.

Logging Preview 09:52

It's tempting to just add print() calls to help debug your programs, but Python's logging module offers a more powerful and convenient way to display debugging information.

Using the Debugger Preview 14:22

All software developers eventually write bugs into their programs. The debugger is the main tool for finding and fixing bugs in every programmer's toolbox.

The webbrowser Module Preview 11:00

In this lesson, you'll learn about Python's webbrowser module. Although it's limited to opening up browser windows, this lesson explores how this can be used in a handy map script.

Downloading from the Web with the Requests Module Preview 06:46

Being on the computer often means being on the internet. In this lesson, you'll learn how to use the Requests module to download files from the web.

Parsing HTML with the Beautiful Soup Module Preview 13:24

While regular expressions are good for general text, the HTML-formatted text that make up the web pages your programs can download requires something more specific. The Beautiful Soup module has functions are locating information on a web page and extracting it for your programs.

Controlling the Browser with the Selenium Module Preview 10:26

The Selenium module provides the ultimate web scraping tool: it launches a browser that is controllable from your Python code.

Reading Excel Spreadsheets Preview 08:36

Excel spreadsheets can be read just like any other file. In this lesson, you'll use the OpenPyXL module to extract data from spreadsheets.

Editing Excel Spreadsheets Preview 06:27

This lesson continues with the OpenPyXL module to create or edit Excel spreadsheets.

Reading and Editing PDFs Preview 13:35

PDFs are a ubiquitous format for reports and business information. In this lesson you'll learn how to make your Python programs interact with PDF files.

Reading and Editing Word Documents Preview 14:01

Python can read and modify Word documents, including Word's styles and text-formatting features.

Sending Emails Preview 09:27

Your Python scripts can automatically send out emails. This is a great for adding a notification feature to your programs so you can leave them running while you're away from your computer.

Checking Your Email Inbox Preview 15:29

Python scripts can also log in to your email accounts for you to check your inbox and retrieve messages on your behalf.

Controlling the Mouse from Python Preview 14:22

When there's no other way to programmatically control an app on your computer, your Python scripts can take control of the mouse and keyboard to automate clicking and typing for you.

Controlling the Keyboard from Python Preview 05:51

This lesson continues GUI automation by exploring how Python can control the keyboard.

Screenshots and Image Recognition Preview 08:18

While controlling the mouse and keyboard for input is great, your scripts will be blind until they can read the screen. This lesson covers PyAutoGUI's image recognition functions, and shows off a game-playing bot that you could make from the things you learned in the last three lessons.

Congratulations! (And next steps...) Preview 01:14

You've made it to the end of the course. This lecture has further reading that you can continue your programming journey with.